true または false ではなく、1 と 0 を返すコードを作成しようとしています。しかし、これは正しくないようです。
int Short_Vector::operator==(const Short_Vector& obj){
if(a == obj.a && b == obj.b && c == obj.c && d == obj.d){
return 1;
}else{
return 0;
}
}
したがって、各変数の値を返す必要があります。
私もこれを試しました:
int Short_Vector::operator==(const Short_Vector& obj){
int a_tf, b_tf, c_tf, d_tf;
if(a == obj.a){
a_tf = 1;
}else{
a_tf = 0;
}
if(b == obj.b){
b_tf = 1;
}else{
b_tf = 0;
}
if(c == obj.c){
c_tf = 1;
}else{
c_tf = 0;
}
if(d == obj.d){
d_tf = 1;
}else{
d_tf = 0;
}
return(a_tf, b_tf, c_tf, d_tf)
}
しかし、コンマが演算子であるというエラーが発生しました。
編集
エラーの取得: エラー: 'int' から非スカラー型 'Short_Vector.
この [9,1,5,5] のようなベクトルを表現しようとしています。
それから私は言います
`Short_Vector a(2, 6, 9, 4);
Short_Vector b(3, 8, 7, 6);
Short_Vector c = a == b;
cout<<c;`
出力は次のとおりです。[0,0,0,0]