【发布时间】:2017-02-24 09:29:19
【问题描述】:
例如:
struct X{
X():a{10} {}
void foo() { a = 10; }
private:
int a;
};
为什么在变量 a 还没有声明的时候编译?
【问题讨论】:
例如:
struct X{
X():a{10} {}
void foo() { a = 10; }
private:
int a;
};
为什么在变量 a 还没有声明的时候编译?
【问题讨论】:
编译器基本上对类或结构定义进行两次传递。一个用于解析和处理成员声明的结构/类,然后一个用于内联函数。
【讨论】: