[问题] 类别的成员 要宣告成静态成员

楼主: 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