vc++6.0 类中定义 static 变量报错
来源:互联网 发布:守望先锋看数据 编辑:程序博客网 时间:2024/06/04 18:49
在实验《提高C++性能的编程技术》中第一个源代码是遇到了报错。。。。。
自己补全了点代码:
#pragma once#include <iostream>#include <string>using namespace std;class Trace{public:Trace(const string &name);~Trace();void debug(const string &msg);static bool traceIsActive;static int t;private:string theFunctionName;};
#include "Trace.h"Trace::Trace(const string &name):theFunctionName(name){if(traceIsActive){cout<<"Enter function"<<name<<endl;}}inline void Trace::debug(const string &msg){if(traceIsActive){cout<<msg<<endl;}}Trace::~Trace(){if(traceIsActive){cout<<"Exit function"<<theFunctionName<<endl;}}
#include <windows.h>#include <iostream>#include "Trace.h"using namespace std;int addOne( int x){
return x+1;}int main(){Trace::traceIsActive = false;int j=1000000,y;SYSTEMTIME t1,t2;GetSystemTime(&t1);for(int i=0 ; i< j ; i++){y = addOne(i);}GetSystemTime(& t2);cout<<t2.wSecond*1000+t2.wMilliseconds-t1.wSecond*1000-t1.wMilliseconds<<endl;return 0;}上边的代码会报如下错误:mian.obj : error LNK2001: unresolved external symbol "public: static bool Trace::traceIsActive" (?traceIsActive@Trace@@2_NA)Trace.obj : error LNK2001: unresolved external symbol "public: static bool Trace::traceIsActive" (?traceIsActive@Trace@@2_NA)Debug/1_1.exe : fatal error LNK1120: 1 unresolved externals执行 link.exe 时出错.我在百度了好久找的答案是在Trace.cpp文件中加入 bool Trace::traceIsActive ;修改后源文件为:
#include "Trace。好“
bool Trace::traceIsActive ;//新增加的行
Trace::Trace(const string &name):theFunctionName(name){ if(traceIsActive) { cout<<"Enter function"<<name<<endl; }}
........
虽然可以编译通过了,不过我还想知道具体的原因,先谢过了
关于static变量的详细请看我的新帖http://blog.csdn.net/xt0916020331/article/details/7530195 说的不当之处请指出
- vc++6.0 类中定义 static 变量报错
- VC中静态变量Static
- static成员变量在类的定义体中初始化
- 类中static成员变量定义和声明
- VC中定义变量名的陷阱
- static定义静态变量
- 由类模版中static成员变量的定义引发的思考。。。
- C++中类的static静态变量的定义和初始化方法
- 为什么接口中定义的变量都是final static的
- 头文件中定义static静态变量的利弊
- 在头文件中使用static定义变量意味着什么
- static在头文件中定义变量的问题
- JAVA中定义为static变量的意义
- 在头文件中使用static定义变量意味着什么
- 勿在头文件中定义static变量
- C#类中static变量
- C++ 类的定义问题,为什么只有const static 整型变量才可以在类中定义并复赋值?
- static成员变量定义初始化
- 苹果iOS5.1安全漏洞,设备可由5.1降级5.0.1?
- linux sysctl.conf中相关重要设定的详细说明
- 控件通知消息
- 细说form表单
- 经典算法系列参考
- vc++6.0 类中定义 static 变量报错
- The content fo element type "package" must match
- VIM python 自动补全插件:pydiction
- CentOS 5.X安裝Oracle 10G
- poj 2226 Muddy Fields 二分图
- SVN
- flex_视图状态的认识、理解示例;
- 一台电脑上起多个tomcat修改说明
- 认识LINUX各个版本