我正在尝试创建一个包含指向自身实例的静态指针的类。这是一个例子:
啊:
#include <iostream>
#ifndef _A_H
#define _A_H
class A {
static A * a;
};
A * a = NULL;
#endif
但是,当我在另一个文件中包含 Ah 时,例如:
#include "A.h"
class B {
};
我收到以下错误:
ld: duplicate symbol _a in /Users/helixed/Desktop/Example/build/Example.build/Debug/Example.build/Objects-normal/x86_64/B.o and /Users/helixed/Desktop/Example/build/Example.build/Debug/Examplebuild/Objects-normal/x86_64/A.o
我在 Mac OS X Snow Leopard 上使用 Xcode 默认编译器。