奇怪!!! 怎么在构造函数里面不能用(::)呢??/

happyjw 2013-01-22 10:08:27
晕 ~~实在不想发帖的 一个小问题 大家帮忙看看 别人问我的 是在想不出来鸟 各位CSDNer帮忙看看啦


#include <stdio.h>
int x=9;
struct A
{
static int x;
A(int g =::x - 3)
{
b=g;
}
int b;
};
int A::x=5;


int main()
{
A a;
printf("%d",a.b);
return 0;
}

就是这个
总报错
error C2039: '`global namespace'' : is not a member of '`global namespace''

...全文
193 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fire_Lord 2013-01-22
  • 打赏
  • 举报
回复
引用 6 楼 happyjw 的回复:
引用 5 楼 Fire_Lord 的回复:引用 4 楼 happyjw 的回复:引用 3 楼 Fire_Lord 的回复:你用的什么编译器? 我用vs2012编译通过。 VC++ 6.0 我试一下 vc++6.0 实在是太老了,很多东西都没有很好的支持。 果然啊。。。。 太感谢你了!!!! 同时谢谢楼上的各位,谢谢大家的热心 多谢多谢 哎,看来不能用……
现在电脑性能也都很好啊,我用2012都毫无压力
hekeguang 2013-01-22
  • 打赏
  • 举报
回复
vc6.0不行,只能放在main函数中可以使用::的方式。
happyjw 2013-01-22
  • 打赏
  • 举报
回复
引用 5 楼 Fire_Lord 的回复:
引用 4 楼 happyjw 的回复:引用 3 楼 Fire_Lord 的回复:你用的什么编译器? 我用vs2012编译通过。 VC++ 6.0 我试一下 vc++6.0 实在是太老了,很多东西都没有很好的支持。
果然啊。。。。 太感谢你了!!!! 同时谢谢楼上的各位,谢谢大家的热心 多谢多谢 哎,看来不能用VC++ 6了, 真的是老了 本想一个小程序Vc6启动快一点 ,结过浪费更多时间哎,, 不过Vs2010启动是在太慢了。。
Fire_Lord 2013-01-22
  • 打赏
  • 举报
回复
引用 4 楼 happyjw 的回复:
引用 3 楼 Fire_Lord 的回复:你用的什么编译器? 我用vs2012编译通过。 VC++ 6.0 我试一下
vc++6.0 实在是太老了,很多东西都没有很好的支持。
happyjw 2013-01-22
  • 打赏
  • 举报
回复
引用 3 楼 Fire_Lord 的回复:
你用的什么编译器? 我用vs2012编译通过。
VC++ 6.0 我试一下
Fire_Lord 2013-01-22
  • 打赏
  • 举报
回复
你用的什么编译器? 我用vs2012编译通过。
图灵狗 2013-01-22
  • 打赏
  • 举报
回复
用g++编译没有问题。
healer_kx 2013-01-22
  • 打赏
  • 举报
回复
x确实不是global的成员啊,是A的static成员。 A::x还差不多。

64,691

社区成员

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

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