作者su27 (su27)
看板C_and_CPP
标题[问题] 类别的成员 要宣告成静态成员
时间Tue Feb 4 22:28:11 2020
开发平台(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);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.141.239 (台湾)
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.141.239 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1580826496.A.0A6.html
※ 编辑: su27 (220.135.141.239 台湾), 02/04/2020 22:30:49
1F:推 ctrlbreak: 楼下有看到code吗? 我猜你宣告外还缺少实体... 02/04 22:33
贴上程式码了
我把我的问题贴在MSDN结果有人回我 贴的程式码
其实跟我写的也一样
我复制他的程式码再贴上 还是报同样的错误讯息
https://social.msdn.microsoft.com/Forums
/zh-TW/ac8f958c-8581-4b8e-9846-e94f97b4a886?forum=234
※ 编辑: su27 (220.135.141.239 台湾), 02/04/2020 22:36:25
2F:→ easterday: vector<CAA> CBB::m_AAs; //加上这句试试 02/04 23:26
成功了 谢谢
3F:→ james732: 可以Google:c++ static member initialization 02/04 23:31
我看不出来问题点在哪
请问一下
static vector< class >
是不是我这种写法 无法编译
※ 编辑: su27 (220.135.141.239 台湾), 02/05/2020 00:33:15
※ 编辑: su27 (220.135.141.239 台湾), 02/05/2020 02:48:07
5F:→ protoss: static data member要在程式开始就有定义... 02/05 03:04
6F:推 ucrxzero: 一开始就要给值了 02/06 02:42
7F:→ ucrxzero: static vector<int> a{1,2,3} 02/06 02:44