如果一个inline函数在class声明之后立刻被定义的话,那么就还是对其评估求值。
对member functions本身得分析,会直到整个class的声明都出现了才开始。
因此,在一个inline member function躯体之内的一个data member绑定操作,会在整个class声明完成之后才发生。
对于member function的argument list并不为真。在extern 和nested type names之间的非直觉绑定操作还是会发生。
typedef int length
class Point3d{
public:
void numble(length val){_val=val;}
length numble(){return _val;}
private:
typedef float length;
length _val;
};
int main(){
return 0;
}
//make
g++ -c test.cpp -o test.o
test.cpp:2:1: error: expected initializer before ‘class’
make: *** [test.o] 错误 1