0

以下代码只是我的头文件的一部分

    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 

PS:我是 C++ 初学者

4

2 回答 2

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 等其他方法正确完成了它。

规则是逗号分隔方法参数,因此如果您的方法采用单个参数,则不应有逗号,如果采用两个参数,则两个参数声明之间应有一个逗号,依此类推。

于 2012-10-31T23:02:17.250 回答
0

您的函数声明中有 3 个错误。报告的第一个错误gcc是:wp没有类型:你说const wp,OKwp是一个常量,但是等待什么常量?

第二个错误是你放在&类型之前,这也是一个错误。

第三,在输入参数之前放置参数名称,所以最后你应该有:

double calculateDistance(const CWaypoint& wp);
bool less(const CWaypoint& wp_right);
于 2012-11-01T00:49:02.083 回答