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&);

&タイプの前ではなく後に配置されます。他のエラーがある可能性があります。確認するのは困難です。通常、変数名はオプションですが、関数プロトタイプでは型と変数名の両方を使用します。

以下のコメントのコードに基づいて OK したいようです

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 つのパラメーターを受け取る場合はコンマを使用しないでください。2 つのパラメーターを使用する場合は、2 つのパラメーター宣言の間に 1 つのコンマを入れる必要があります。

于 2012-10-31T23:02:17.250 に答える
0

関数宣言に 3 つのエラーがあります。によって報告された最初のエラーは次のgccとおりです: wphave no type: you say const wp, OK wpis a constant, but wait constant of what??

&2 番目のエラーは、タイプの前に置くことであり、それもエラーです。

第三に、型の前に引数の名前を配置するため、最終的には次のようになります。

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