我正在编写代码以在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);

可以使用类的完全限定名称来调用静态成员函数。也可以在类实例上调用它们,但是由于您没有任何实例,因此不适用于此处。

09-25 20:45