【发布时间】:2015-01-10 10:15:31
【问题描述】:
我有类A 和方法display()。我创建了一个结构体B,其静态变量类型为对象A:
class A{
public :
void display()
{
cout << "in A " << endl;
}
};
typedef struct B{
static A a;
} bb;
//B::a.display();
int main() {
bb b;
bb::a.display();
return 0;
}
现在尝试访问a 时出现错误。
在这种情况下如何定义静态对象?
【问题讨论】:
-
错误信息是什么,您是使用
using-directive 还是using-declarations 使std的命名空间符号可用? -
我认为它只是声明对象 A.B::a.display();不起作用,因为未定义对 `B::a' 的引用。
-
@KarolyHorvath:在哪里?
-
@Rerito 您能否更具体地说明 using-directive 或 using-declarations
-
@MemoryLeak,这里有一篇文章可以让你了解 C++ 中的命名空间:winterdom.com/dev/cpp/nspaces