私はC++とRでの統計計算(Eubank and Kupresanin、2012)という本を読んでいて、次の演習があります。
"3.27。2X
つの整数メンバー要素を持つa
構造体のコードを記述します。b
構造体の1つのメソッドには、プロトタイプが必要です。
bool compare(const& X)
このcompare
メソッドは、2つのオブジェクトを比較X
し、メンバーの値が小さいオブジェクトを返す必要がa
あります。」
ここでの問題は、何を表すのかがわからないことconst& X
です。また、g ++コンパイラもエラーが発生するため、それを理解していないようです。それは何かを意味するのでしょうか、それとも単なるタイプミスですか?const&部分を無視する私の解決策は、次のようになります。
struct X{
int a;
int b;
X(int A, int B);
bool compare(X x);
};
X::X(int A, int B){
a=A;
b=B;
}
bool X::compare(X x){
if(x.a>(*this).a){
return true;
} else return false;
}
int main(){
X y(5,0);
X z(2,3);
if(y.compare(z))
cout << "y.a = "<<y.a<< " which is larger than z.a = "<< z.a<<endl;
else
cout << "y.a = "<<y.a<< " which is smaller than z.a = "<< z.a<<endl;
return 0;
}
これは問題なく動作するようです。