这是我的类定义:
#include <iostream>
using namespace std;
class Math
{
private:
static int result;
public:
static int add( int a , int b)
{
result = a + b ;
return result;
};
};
这是主要的:
#include <iostream>
#include "Amin.cpp"
using namespace std;
int main()
{
Math::add(2,3);
}
我在Visual Studio中遇到了这些错误:
错误 LNK2001:未解析的外部符号"private: static int Math::result"错误 LNK1120:1 个未解析的外部
此致敬意
只需添加
int Math::result;
在您的cpp
文件中。
Math::result
在Math
的定义中声明为static
数据变量,应在某处定义。这可以是包含链接器要找到的main()
或任何其他文件的cpp
文件。您不需要也不应该在定义中重复关键字static
。
顺便说一下,您应该避免在头文件中using namespace std;
(或任何其他命名空间)。
你的Math
类中有一个静态变量。您需要为其提供定义。为此,您可以添加:
int Math::result;
到您的.cpp文件