关于类中static const变量的使用

Muradin 2007-03-22 10:02:39
#include<iostream>
using namespace std;
class base
{
public:
static const int vs=3;
};
void main()
{
cout<<base::vs<<endl;
}
编译不能通过
信息:e:\visualstudiocode\trystatic\main.cpp(6) : error C2258: illegal pure syntax, must be '= 0'
e:\visualstudiocode\trystatic\main.cpp(6) : error C2252: 'vs' : pure specifier can only be specified for functions
所用编译器VC6.0
thinking inC++上说这样是可以的
请高手指点
谢谢
...全文
360 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
todototry 2007-03-23
  • 打赏
  • 举报
回复
dev
vs2005
okokok
xlbdan 2007-03-23
  • 打赏
  • 举报
回复
是你的编译器的问题,它不支持这种赋值,因为它不是标准C++
书的例子通不过的基本上都是因为编译器不行.
taodm 2007-03-23
  • 打赏
  • 举报
回复
如果想学C++,就请扔了VC6这个烂东西。
kenneth_lueng 2007-03-23
  • 打赏
  • 举报
回复
const static 只能在类的外而赋值
orc1984 2007-03-23
  • 打赏
  • 举报
回复
兄弟 換個編譯器吧
vc7.0以上
或dev C++
snprintf 2007-03-23
  • 打赏
  • 举报
回复
// VC6.0 不支持在类内给static const变量赋值
// 把赋值拿到外面:

#include<iostream>
using namespace std;
class base
{
public:
static const int vs;
};
const int base::vs = 3;
void main()
{
cout<<base::vs<<endl;
}
WinWing 2007-03-22
  • 打赏
  • 举报
回复
学C++还是别用VC6,用Dev C++要好很多
双杯献酒 2007-03-22
  • 打赏
  • 举报
回复
使用VC7就好了
双杯献酒 2007-03-22
  • 打赏
  • 举报
回复
VC6.0 对C++标准支持很弱.
可能是不支持在类定义处给变量赋值

static const int vs=3;
被理解成了
virtual int vs()=0;
Muradin 2007-03-22
  • 打赏
  • 举报
回复
另外问一下:为什么很多thinkinginC++上的程序例子编译都不能通过

64,639

社区成员

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

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