大家好,我定义了个函数指针(VC2005) 如下
typedef void (*FuncPtr)(int, char*);这时有个函数
void Show(int count, char* msg)
{
//...........
}
问题是 为什么我只能这样调用呢
FuncPtr p = Show;//这是对的如果我按照下面这样,就会错:
FuncPtr p ;//先定义一个指针
//再将p指向Show
p = Show;//error C2373: 'p' : redefinition; different type modifiers可是为什么有错呢??难道不能先定义好了,再初始化吗?而必须在定义的同时初始化吗???
typedef void (*FuncPtr)(int, char*);这时有个函数
void Show(int count, char* msg)
{
//...........
}
问题是 为什么我只能这样调用呢
FuncPtr p = Show;//这是对的如果我按照下面这样,就会错:
FuncPtr p ;//先定义一个指针
//再将p指向Show
p = Show;//error C2373: 'p' : redefinition; different type modifiers可是为什么有错呢??难道不能先定义好了,再初始化吗?而必须在定义的同时初始化吗???
typedef void (*FuncPtr)(int, char*);
void Show(int count, char* msg)
{
//...........
} // 这样写不会出错的阿
FuncPtr p ;
p = Show;
FuncPtr funck ;
funck = Show;
是我把那段代码写到main函数外面赵成的,把它放到main函数里就好了
哈哈
谢谢