[問題] 類別的成員 要宣告成靜態成員

作者: su27 (su27)   2020-02-04 22:28:11
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
vs2017
我要宣告一個類別成員為靜態成員
語法如下 可是彙編譯時報錯
請問一下 我要怎麼寫才會對
謝謝
https://i.imgur.com/o2xSLX8.jpg
#include "pch.h"
#include <iostream>
#include <vector>
using namespace std;
class CAA
{
public:
CAA(int data) { m_AA = data; }
int m_AA;
};
class CBB
{
public:
static vector<CAA> m_AAs;
void Test(int data)
{
CAA aa = CBB::m_AAs[data];
cout << aa.m_AA << endl;
}
};
int main()
{
for (int i = 0; i < 10; i++)
{
CBB::m_AAs.push_back(CAA(i));
}
CBB b1;
CBB b2;
b1.Test(1);
b2.Test(1);
}
作者: ctrlbreak   2020-02-04 22:33:00
樓下有看到code嗎? 我猜你宣告外還缺少實體...
作者: easterday (....)   2020-02-04 23:26:00
vector<CAA> CBB::m_AAs; //加上這句試試
作者: james732 (好人超)   2020-02-04 23:31:00
可以Google:c++ static member initializationhttps://ideone.com/vBlYMd
作者: protoss (天生散人)   2020-02-05 03:04:00
static data member要在程式開始就有定義...
作者: ucrxzero (RX-0)   2020-02-06 02:42:00
一開始就要給值了static vector<int> a{1,2,3}

Links booklink

Contact Us: admin [ a t ] ucptt.com