3 智能感知:声明与"<error-type>Airport::getDetails(std::string)"不兼容
3 IntelliSense: declaration is incompatible with "<error-type> Airport::getDetails(std::string)"
收到此错误
我知道这与声明和定义不匹配有关,但我似乎不能把我的手指放在上面。
任何帮助都将是感激的:)
IntelliSense: declaration is incompatible with "<error-type>
Airport::getDetails(std::string)" (declared at line 16 of "z:documentsvisual studio 2010projectsoo_cwoo_cwAirport.h")
z:documentsvisual studio 2010projectsoo_cwoo_cwairport.cpp 50 22 OO_CW
这是我的头文件和cpp文件
头
#pragma once
#include <string>
#include "std_lib_facilities.h"
class Airport
{
public:
Airport();
~Airport(void);
//Modifiers
void setName(string);
void addConnection(string,double,double);
void setTax(double);
//Accessors
string getName();
connections getDetails(string) const ;
double getTax();
private:
string name;
Vector<connections> destinations;
double tax;
};
cpp
#include "Airport.h"
#include <string>
#include "std_lib_facilities.h"
using namespace std;
struct connections {
string destName;
double price;
double time;
};
Airport::Airport()
{
name = "";
tax = 0.0;
};
Airport::~Airport(void)
{
};
void Airport::setName(string airportName){
Airport::name = airportName;
}
void Airport::setTax(double airportTax){
tax = airportTax;
}
void Airport::addConnection(string conName, double conPrice, double conTime){
connections newConnection;
newConnection.destName = conName;
newConnection.price = conPrice;
newConnection.time = conTime;
destinations.push_back(newConnection);
}
string Airport::getName(){
return name;
}
double Airport::getTax(){
return tax;
}
connections Airport::getDetails(string reqName) const {
for(int i =0;i<destinations.size();i++){
if(destinations[i].destName==reqName){
return destinations[i];
}
}
}
- 你必须把
connections
定义放在头文件中Airport
类定义的上面。 - 你的函数
Airport::getDetails()
必须返回一些微不足道的情况,其中destinations.size() == 0
,(见下面的代码)。 - 是否有特殊的原因不使用
std::vector
代替Vector
?
connections Airport::getDetails(string reqName) const {
for (int i = 0; i<destinations.size(); i++){
if (destinations[i].destName == reqName){
return destinations[i];
}
}
return connections{"", 0.0, 0.0};
}
您在"Airport.h"中使用connections
之前没有声明它。
相关文章:
- 使用std::multimap迭代器创建std::list
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 从持续时间构造std::chrono::system_clock::time_point
- std::具有相同基类的类的变体
- std::向量与传递值的动态数组
- 使用std::vector的OpenCL矩阵乘法
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- std::condition_variable::wait()如何评估给定的谓词
- 如何获取std::result_of函数的返回类型
- std::原子加载和存储都需要吗
- 将对象移动到std::shared_ptr
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 使用一个考虑到std::map中键值的滚动或换行的键
- 如何从 std::atomic 中提取指针 T<T>?
- 为什么 std::unique 不调用 std::sort?
- 使用std::函数映射对象方法
- 3 智能感知:声明与"<error-type>Airport::getDetails(std::string)"不兼容