C++静态方法调用静态变量报错:undefined reference to 'namespace::class::field'
来源:互联网 发布:绘制示意图软件 编辑:程序博客网 时间:2024/05/17 04:28
作为一个之前一直习惯写java的coder来说,开始写C++时候会有各种不习惯的问题,本来感觉是个显而易见的东西,编译却发现会报错,今天就说一下在C++类里一个静态方法调用静态变量时出现的错误,开始写的代码如下:
功能很简单,有个静态的test方法,两个静态变量,希望在test里进行调用
头文件:test.h,
namespace test{
class Test{
public:
static void test();
static int testInt;
static const char * testCode;
};
}
cpp文件:test.cpp
namespace test{
class Test{
void Test::test(){
testInt=10;
testCode="test";
}
}
恩,完成,感觉这应该没啥问题,但是编译会报错:undefined reference to 'test::Test::testInt'....字面意思是没定义,有点摸不着头脑,这怎么可能有问题呢,后来google了一番才发现,这种情况需要在cpp文件里,对变量进行显示的初始化才可以,注意是在cpp文件里,对test.cpp文件进行如下修改:
namespace test{
int Test::testInt=0;
const char* Test:: testcode="test";
class Test{
void Test::test(){
testInt=10;
}
}
这样之后就可以顺利运行了。 0 0
- C++静态方法调用静态变量报错:undefined reference to 'namespace::class::field'
- 类中静态变量未定义导致undefined reference to static class member问题的解决方法
- C++调用C静态库,出现undefined reference to “” 的问题
- 在调用静态库,一直提示undefined reference to 问题解决
- C++(Qt)静态成员类undefined reference to “xxx”
- QT报错:undefined reference to vtable for (class name)
- linux 链接 静态库 undefined reference to
- 从C++中调用C函数报错 undefined reference to
- C++ 类静态成员变量存取出错 undefined reference to 'xxx'
- C++ 类静态成员变量存取出错 undefined reference to 'xxx'
- 静态库调用静态库&静态库加载静态库------谈谈undefined reference to和linker input file unused because linking not done
- c c++ "undefined reference to" 问题解决方法
- 程序报错 undefined reference to `shm_open'
- AndroidStudio报错: undefined reference to 'AndroidBitmap_getInfo'
- 编译静态expect现undefined reference to `openpty' 错误解决方法
- java 静态方法调用非静态内部类报错
- 静态变量/静态方法调用的注意事项
- [java]静态方法不能调用静态变量
- NYOJ 662 汽水瓶
- Application,Session,Cookie,ViewState和Cache生命周期
- java的一些情况!
- 高手详解SQL性能优化十条建议
- 50个人脸识别
- C++静态方法调用静态变量报错:undefined reference to 'namespace::class::field'
- PHP jQuery表单,带验证
- MySQL中UNION和UNION ALL的使用
- 如何做选择?
- asp.net <%%>&<%#%>&<%=%>&<%:%>&<%@%>&<%$%>用法区别
- java的平台讲解!
- Java语言学习-数据结构接口
- sessiond的简单介绍与相关用法
- 由使用LeakDialog时遇到的问题而引出的一些分析