C++ ,很奇怪的一个问题
#include<iostream>usingnamespacestd;classhuman{public:voideat(){cout<<"吃饭"<<endl;}};i...
#include <iostream>
using namespace std ;
class human
{
public :
void eat ( ) {cout << "吃饭" << endl ;}
} ;
int main ( )
{
void (human :: *p_func)( ) ;
human *p = new human ;
p_func = &human :: eat ;
(p -> *p_func) ( ) ;
}
linux下g++编译报错,将最后一行的p -> *p_func改为p->*p_func,编译通过,也就是说,我去掉了两个空格,编译就通过了,这是什么道理?C++不是自动吸收空格吗?怎么有空格还会影响编译? 展开
using namespace std ;
class human
{
public :
void eat ( ) {cout << "吃饭" << endl ;}
} ;
int main ( )
{
void (human :: *p_func)( ) ;
human *p = new human ;
p_func = &human :: eat ;
(p -> *p_func) ( ) ;
}
linux下g++编译报错,将最后一行的p -> *p_func改为p->*p_func,编译通过,也就是说,我去掉了两个空格,编译就通过了,这是什么道理?C++不是自动吸收空格吗?怎么有空格还会影响编译? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询