向c++高手请教一个综合了类、函数指针、静态成员变量以及结构体的问题!!急!!谢谢先!!
具体问题描述如下:
程序中有两个文件,分别是头文件aa.hpp,源文件aa.cpp。
在aa.hpp中有如下定义:
/** aa.hpp **/
typedef int (Ca::*Pf)(); //typedef一个指向类成员函数的函数指针;
typedef struct
{
Pf Indications;
char *ActionName;
}TInd; //声明一个结构体,第一项是指向类成员函数的函数指针,第二项用来保存该函数的名字;
class Ca
{
public:
。。。
static TInd astInd[20];//类的静态成员,结构体数组。
。。。
};
在aa.cpp中对该结构体数组进行初始化:
/** aa.cpp **/
TInd Ca::astInd[20] =
{
{&Ca::Login,"Login"},
{&Ca::Register,"Register"},
{&Ca::Create,"Create"},
{&Ca::Logout,"Logout"}
};
请问上面这段伪代码有什么原理上的错误吗?我在vc上能够编译通过,但是在链接的时候
说是“ error LNK2001: unresolved external symbol "struct TInd * astInd" (?astInd@@3PAUTInd@@A)”