3 c++
尝试向我的struct添加静态变量时出现以下错误:
模块file_name.cpp中未定义的Symbole s2 :: aa
s2是结构的名称,aa是静态变量.我使用的编译器是Turbo C++ 3.0.
我该如何解决这个错误?
C中的结构中不允许使用静态变量,因为C要求将整个结构元素放在一起.要从结构中获取元素值,请按元素与结构起始地址的偏移量进行计数.
但据我所知,你可以在C++结构中拥有一个静态成员.你得到一个特定的错误(哪个编译器?)
你为什么这么说?在g ++ 4.1.2下,这编译:
#include <iostream>
struct Test
{
static int test; // declare (usually in header file)
};
int Test::test = 8; // define (usually in source file)
int
main()
{
std::cout << Test::test << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17238 次 |
| 最近记录: |