关于static const成员变量在类内赋值的问题
在C++Primer中提到可以在类内对static const变量赋值,但需要在类外定义。我按照它说的做了,但是却提示:
error C2258: illegal pure syntax, must be '= 0'
error C2252: 'nameSize' : pure specifier can only be specified for functions
error C2258: illegal pure syntax, must be '= 0'
error C2252: 'nameSize' : pure specifier can only be specified for functions
// header file
class Account {
// ...
private:
static const int nameSize = 16;
static const char name[nameSize];
};
// text file 这两句话到底该放哪里?文本文件?
const int Account::nameSize; // member definition needed
const char Account::name[nameSize] = "Savings Account";
//main.cpp
#include "stdafx.h"
#include "Account.h"
int main(int argc, char* argv[])
{
Account a;
return 0;
}
...全文
相关推荐
const与static用法完整总结
const与static在编程中经常用到,并且很重要, 这里就把他们的用法总结,希望对大家有帮助
关于C++中构造函数初始化成员列表的总结
下面小编就为大家带来一篇关于C++中构造函数初始化成员列表的总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
const用法详细解释
对于const关键字的用法,相当全面,用心看必有收获
c++编程(自己面试总结的)
c++编程,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!
C++类成员和数据成员初始化总结
C++类成员和数据成员初始化总结 C++为类中提供类成员的初始化列表 类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员 2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化。


