未解析的外部符号 LNK 2001

Unresolved External Symbol LNK 2001

本文关键字:符号 LNK 2001 外部      更新时间:2023-10-16
#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;