Mic*_*nel 1 c++ compiler-errors static-members
我是一名C程序员,但很久以来就学习过C++ @school.现在我试图用C++编写代码,但是编译错误.请检查并告诉我我的代码有什么问题.
typedef class _filter_session
{
private:
static int session_count; /* Number of sessions count -- Static */
public:
_filter_session(); /* Constructor */
~_filter_session(); /* Destructor */
}FILTER_SESSION;
_filter_session::_filter_session(void)
{
(this->session_count)++;
return;
}
_filter_session::~_filter_session(void)
{
(this->session_count)--;
return;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
"错误LNK2001:未解析的外部符号"private:static int _filter_session :: session_count"(?session_count @ _filter_session @@ 0HA)"
我顺便使用Visual Studio 2005.
Plz plz帮帮我.
问候,
微内核
static变量需要在类主体之外的某个地方定义.该声明的类体中只是一个声明.
例如,在全球范围内:
int _filter_session::session_count;
Run Code Online (Sandbox Code Playgroud)
您需要确保此定义仅在程序中出现一次,因此通常将其放在源文件(.cc或.cpp)中,而不是包含在多次翻译单元中的头文件.
为了便于携带,您应该避免使用以_.开头的类名.typedef您的班级名称也几乎没有必要.class Name { //...在C++中引入了一个类型名称,您不必使用它class Name来引用该类型.
| 归档时间: |
|
| 查看次数: |
993 次 |
| 最近记录: |