我正在尝试编写一个返回 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]