读书人

static const,该如何处理

发布时间: 2012-04-24 14:15:38 作者: rapoo

static const

C/C++ code
#include <iostream>using namespace std;class Foo{private:    static const int i = 0;};const int Foo::i;int main(){    return 0;}


为什么VC6.0中编译出错?

[解决办法]
就是因为这是在VC6.0中!
[解决办法]
编译器太老了, 换个新的吧
[解决办法]
C/C++ code
#include <iostream>using namespace std;class Foo{private:    static const int i;};const int Foo::i = 0;int main(){    return 0;}
[解决办法]
代码没有问题的

vc6的问题

gcc ok
[解决办法]
探讨
在其它编译器中可以?

[解决办法]
既然在类中static const int i = 0;了。
那么为什么还要const int Foo::i;?
删掉看看


[解决办法]
探讨
C/C++ code


#include <iostream>
using namespace std;

class Foo
{
private:
static const int i;
};

const int Foo::i = 0;

int main()
{
return 0;
}

[解决办法]
g++4.6.1测试通过。
都可以,无论有没有 const int Foo::i;

读书人网 >C++

热点推荐