我正在编写代码以在C++中使用 vector 。
我有3个文件:main.cpp,Vektor.cpp和Vektor.h
现在,我要在main中调用静态功能,该功能在Vektor.cpp中实现并在Vektor.h中声明。 “test”和“test2”是类Vektor的两个实例。
Eclipse抛出错误,但是我不知道为什么;它说
错误在哪里?包括“Vektor.h”。以下是必要的内容:
main.cpp:
// ...
cout << "Summe: " << addieren(test,test2) << endl;
Vektor.cpp:
Vektor Vektor::addieren(Vektor vektor1, Vektor vektor2)
{
Vektor vektorSumme;
vektorSumme.set_x(vektor1.get_x() + vektor2.get_x());
vektorSumme.set_y(vektor1.get_y() + vektor2.get_y());
vektorSumme.set_z(vektor1.get_z() + vektor2.get_z());
return vektorSumme;
}
Vektor.h:
class Vektor
{
//...
public:
//...
static Vektor addieren(Vektor vektor1, Vektor vektor2);
感谢您的帮助!
最佳答案
您需要将其称为:
Vektor::addieren(test,test2);
可以使用类的完全限定名称来调用静态成员函数。也可以在类实例上调用它们,但是由于您没有任何实例,因此不适用于此处。