首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++类嵌套,编译通过,但链接时出错解决方法

2012-09-11 
C++类嵌套,编译通过,但链接时出错如题,看代码:C/C++ codeclass test_class{public:static int numclass _

C++类嵌套,编译通过,但链接时出错
如题,看代码:

C/C++ code
class test_class{    public:     static int num;    class _count    {        public:        void set(int n)        {            num = n;        }    };    _count count;};int main( ) {    test_class tcls;    tcls.count.set( 20 );     return 0;}

编译正常,在链接是出现以下错误:
test_cpp_class.o: In function `test_class::_count::set(int)':
test_cpp_class.cpp:(.text._ZN10test_class6_count3setEi[test_class::_count::set(int)]+0x7): undefined reference to `test_class::num'
collect2: ld 返回 1
编译失败。 


[解决办法]
C/C++ code
class test_class{    public:   [color=#FF0000]  static int num=0;[/color]    class _count    {        public:        void set(int n)        {            num = n;        }    };    _count count;};
[解决办法]
C/C++ code
class test_class{    public:     static int num;    class _count    {        public:        void set(int n)        {            num = n;        }    };    _count count;};// define num// 增加下一句int test_class::num = 0;int main( ) {    test_class tcls;    tcls.count.set( 20 );     return 0;}
[解决办法]
顶楼上的, 静态成员没有初始化
[解决办法]
探讨
C/C++ code

class test_class
{
public:
static int num;
class _count
{
public:
void set(int n)
{
num = n;
}
};
_count ……

热点排行