以下代码只是我的Header文件的一部分
double calculateDistance(const wp, &CWaypoint);
void print(int format);
bool less(wp_right, const &CWaypoint);
CWaypoint add(wp_right, const &CWaypoint);
错误是:
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o src\Waypoint.o ..\src\Waypoint.cpp
In file included from ..\src\Waypoint.cpp:15:0:
..\src\/Waypoint.h:45:33: error: 'wp' does not name a type
..\src\/Waypoint.h:45:33: error: ISO C++ forbids declaration of 'parameter' with no type
..\src\/Waypoint.h:47:12: error: 'wp_right' has not been declared
..\src\/Waypoint.h:48:16: error: 'wp_right' has not been declared
P.S。 :我是C ++初学者
答案 0 :(得分:2)
我认为你的意思是
double calculateDistance(const wp, CWaypoint&);
等
&
放在不是之前的类型之后。你可能有其他错误,很难确定。通常我会在函数原型中使用类型和变量名称,尽管变量名是可选的。
确定基于下面评论中的代码,似乎你想要
class CWaypoint
{
...
double calculateDistance(const CWaypoint& wp);
void print(int format);
bool less(const CWaypoint& wp_right);
CWaypoint add(const CWaypoint& wp_right);
};
我不确定为什么要将参数名称放在类型之前,或者为什么要用逗号分隔参数名称和类型。你已经使用getAllDataByPointer和getAllDataByReference等其他方法正确完成了它。
规则是逗号分隔方法参数,所以如果你的方法接受一个参数就不应该有逗号,如果它需要两个,那么两个参数声明之间应该有一个逗号,等等。
答案 1 :(得分:0)
您的函数声明中有3个错误。 gcc
报告的第一个错误是:wp
没有类型:你说const wp
,OK wp
是一个常数,但等待的是什么?
第二个错误是你将&
放在类型之前,这也是一个错误。
第三,在键入之前放置参数名称,所以最后应该有:
double calculateDistance(const CWaypoint& wp);
bool less(const CWaypoint& wp_right);