关于静态数据成员初始化的问题

hqw19881118 2012-07-26 11:28:51
我想在Test类中定义一个静态的list数据成员,当然,list中的每个元素也是一个简单的结构体。我写的是下面的,但总是提示:static.cpp expected constructor, destructor, or type conversion before '<' token 不明白,请大家帮忙看看。谢谢

#include <iostream>
#include <list>

using namespace std;

struct T
{
int num;
};

class Test
{
public:
Test();
~Test();
static list<T> T_list;
};

Test::list<T> T_list(1, T);

int main(int argc, char* argv[])
{
T t;
t.num = 1;
//Test test;
Test::T_list.clear();
Test::T_list.push_back(t);
system("pause");
return 0;
}
...全文
155 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqw19881118 2012-07-26
  • 打赏
  • 举报
回复
关于2楼的建议,我试了下不行,写成list<T> Test::T_list(1, T());就OK了
不过,还是谢谢!
hqw19881118 2012-07-26
  • 打赏
  • 举报
回复
感谢1楼的,OK了,看来就近原则我理解得不够好啊
未注销 2012-07-26
  • 打赏
  • 举报
回复
Test::list<T> T_list(1, T);


应该是

list<T> Test::T_list(1, T);
IVERS0N 2012-07-26
  • 打赏
  • 举报
回复
类外定义 list<T> Test::T_list;

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧