簡體   English   中英

獲得“ISO C ++禁止聲明......”錯誤。

[英]Getting “ ISO C++ forbids declaration …” error.?

以下代碼只是我的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 

PS:我是C ++初學者

我想你的意思是

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)正確完成了此操作。

規則是逗號分隔方法參數,所以如果你的方法接受一個參數就不應該有逗號,如果它需要兩個,那么兩個參數聲明之間應該有一個逗號等。

您的函數聲明中有3個錯誤。 gcc報告的第一個錯誤是: wp沒有類型:你說const wp ,OK wp是一個常量,但等待常數是什么?

第二個錯誤是你把&類型之前,這就是一個錯誤了。

第三,在鍵入之前放置參數名稱,所以最后你應該:

double calculateDistance(const CWaypoint& wp);
bool less(const CWaypoint& wp_right);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM