У меня есть тип данных, и я могу создать экземпляр переменной этого типа. как это:
FetchAddr faddr(VirtualMemoryAddress( 0x0a ));
Определение FetchAdr:
struct FetchAddr {
VirtualMemoryAddress theAddress;
FetchAddr(VirtualMemoryAddress anAddress)
: theAddress(anAddress)
{ }
};
Теперь у меня есть класс, в котором faddr является частной (или публичной) переменной
class FLEXUS_COMPONENT(BPred) {
static FetchAddr faddr;
public:
FLEXUS_COMPONENT_CONSTRUCTOR(BPred)
: base( FLEXUS_PASS_CONSTRUCTOR_ARGS )
{
faddr = VirtualMemoryAddress( 0x0a );
}
...
}
Предположим, что макросы определены правильно.
Код компилируется и связывается без проблем. Однако когда я запускаю программу, она говорит:
"undefined symbol: _ZN6nBPred14BPredComponent8faddr"
там написано, что для фаддра нет символа.
есть идеи по этому поводу?