This question already has answers here:
Can't set value of static object field (error LNK2001: unresolved external symbol)
                                
                                    (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/

10-13 07:45
查看更多