#include <iostream>
class A{
public:
A():root(NULL){}
int *root;
void Search(int* i,int* j=root){}
};
int main(int argc,char **argv)
{
A a;
}
main.cpp:5:8: 错误:对非静态数据成员‘A::root’的无效使用
main.cpp:6:29: 错误:从这个地方
#include <iostream>
class A{
public:
A():root(NULL){}
int *root;
void Search(int* i,int* j=root){}
};
int main(int argc,char **argv)
{
A a;
}
main.cpp:5:8: 错误:对非静态数据成员‘A::root’的无效使用
main.cpp:6:29: 错误:从这个地方
void Search(int* i,int* j=root){}
默认参数一般是常量表达式吧,像你这样应该不行。