This question already has answers here:
Can't set value of static object field (error LNK2001: unresolved external symbol)
(2个答案)
4年前关闭。
抱歉,如果我没有正确地在网站上放置我的代码,我对此很陌生,但是我收到的代码错误
我对它是什么或如何解决一无所知。任何帮助将不胜感激。
(2个答案)
4年前关闭。
#include "stdafx.h"
#include <iostream>
using namespace std;`
class divSales{
public:
int sales[4];
void quarterSales(int q1, int q2, int q3, int q4){
sales[1] = q1;
sales[2] = q2;
sales[3] = q3;
sales[4] = q4;
}
void setTotalSales(int sales[]){
totalSales = sales[1]+sales[2]+sales[3]+sales[4];
}
int getTotalSales(){
return totalSales;
}
private:
static int totalSales;
};
int _tmain(int argc, _TCHAR* argv[])
{
divSales div;
int q1=0, q2=0, q3=0, q4=0;
cin >> q1 >> q2 >> q3 >> q4;
div.quarterSales(q1,q2,q3,q4);
div.setTotalSales(div.sales);
cout << div.getTotalSales();
}
抱歉,如果我没有正确地在网站上放置我的代码,我对此很陌生,但是我收到的代码错误
Error 1 error LNK2001: unresolved external symbol "private: static int divSales::totalSales" (?totalSales@divSales@@0HA)
我对它是什么或如何解决一无所知。任何帮助将不胜感激。
最佳答案
您必须定义static int totalSales
成员。例如,您可以在类声明后添加以下行:int divSales::totalSales = 0;
关于c++ - 尚未解决的外部符号LNK 2001 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29064772/