当前位置: 技术问答>linux和unix
一個100分的簡單問題
来源: 互联网 发布时间:2014-12-27
本文导语: 下面的這個小程式為什麼在VC下能通過.而用g++編譯就不能通過呢 #include #include class CA { public: void (CA::*pfun)(void); void myfun(void); void setpfun(); void runpfun(); }; void CA::myfun(void) { printf("hello myfun!n"); } void CA::setpf...
下面的這個小程式為什麼在VC下能通過.而用g++編譯就不能通過呢
#include
#include
class CA
{
public:
void (CA::*pfun)(void);
void myfun(void);
void setpfun();
void runpfun();
};
void CA::myfun(void)
{
printf("hello myfun!n");
}
void CA::setpfun()
{
pfun = CA::myfun;
}
void CA::runpfun()
{
(this->*pfun)();
}
void main()
{
CA t;
t.setpfun();
t.runpfun();
}
#include
#include
class CA
{
public:
void (CA::*pfun)(void);
void myfun(void);
void setpfun();
void runpfun();
};
void CA::myfun(void)
{
printf("hello myfun!n");
}
void CA::setpfun()
{
pfun = CA::myfun;
}
void CA::runpfun()
{
(this->*pfun)();
}
void main()
{
CA t;
t.setpfun();
t.runpfun();
}
|
我做的改动,
pfun = CA::myfun; ===> pfun = &CA::myfun;
void main() ===> int main()
=========
#include
#include
class CA
{
public:
void (CA::*pfun)(void);
void myfun(void);
void setpfun();
void runpfun();
};
void CA::myfun(void)
{
printf("hello myfun!n");
}
void CA::setpfun()
{
pfun = &CA::myfun;
}
void CA::runpfun()
{
(this->*pfun)();
}
int main()
{
CA t;
t.setpfun();
t.runpfun();
}
pfun = CA::myfun; ===> pfun = &CA::myfun;
void main() ===> int main()
=========
#include
#include
class CA
{
public:
void (CA::*pfun)(void);
void myfun(void);
void setpfun();
void runpfun();
};
void CA::myfun(void)
{
printf("hello myfun!n");
}
void CA::setpfun()
{
pfun = &CA::myfun;
}
void CA::runpfun()
{
(this->*pfun)();
}
int main()
{
CA t;
t.setpfun();
t.runpfun();
}
|
On g++ 2.9, you have to change:
pfun = CA::myfun;
to
pfun = &CA::myfun;
On g++ 2.7, you do not need to change anything.
pfun = CA::myfun;
to
pfun = &CA::myfun;
On g++ 2.7, you do not need to change anything.
|
pfun = CA::myfun;
改为:pfun = &CA::myfun;
改为:pfun = &CA::myfun;
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。