我对“结果矢量”中有一个错误'在这方面没有申明。我不知道在哪里或如何申报这个?结果向量的意图是显示添加向量的X和每个向量的Y的结果,然后返回result_vector
#include <iostream>
#include <vector>
using namespace std;
class vector{
private:
double x;
double y;
public:
//Constructor - default
vector() : x(0), y(0) {}
//Constructor - Custom
vector(double xx, double yy) : x(xx), y(yy) {}
//Get X & Y Coordinates
double get_x() { return x;
}
double get_y() { return y;
}
//Set X & Y Coordinates
void set_x( double xx) { x = xx;
}
void set_y( double yy) { y = yy;
}
//Adding Vectors
vector add_vector( vector v1, vector v2){
result_vector.x = v1.x + v2.x;
result_vector.y = v1.y + v2.y;
return result_vector;
}
//Subtracting Vectorsed
vector subtract_vector( vector v1, vector v2){
result_vector.x = v1.x - v2.x;
result_vector.y = v1.y - v2.y;
return result_vector;
}
};
int main() {
//Default
vector test;
cout <<"Default \n" test.get_x().get_y() << "\n";
//Customer
vector test2(10, 12);
cout <<"Custom \n" test2.get_x().get_y() << "\n";
//Adding
vector add = vector.add_vector(vector test1&, vector test2&);
cout <<"Adding \n" add.get_x().get_y() <<"\n";
//Subtracting
vector sub = vector.subtract_vector(vector test1&, vector test2&);
cout <<"Subtracting \n" sub.get_x().get_y() <<"\n";
return 0;
}
答案 0 :(得分:1)
您尚未声明result_vector
它不存在,因此错误。
另外,您是using namespace std;
,并且您已将某个班级命名为vector
因此,对vector
的引用含糊不清。
您的代码还有其他几个错误,我建议您使用调试器并完成错误
答案 1 :(得分:1)
错误是不言自明的。
cube[0].t.set([1.5]*3)
cube[0].r.set([1.5]*3)
应打印向量的x和y值,则必须单独调用cout <<"Default \n" test.get_x().get_y() << "\n";
和get_x()
。同样如Andreas DM所述,您无法使用get_y()
,因为它在进行更正后与现有的类vector.vector类冲突
using namespace std;
答案 2 :(得分:0)
在使用变量之前,必须声明,以便编译器知道它退出。在C ++中,这是必需的(某些语言,如Python,不要求它),因此在使用它之前首先声明result_vector
(vector result_vector;
)