为啥我可以在成员函数中使用尚未声明的成员变量?
Posted
技术标签:
【中文标题】为啥我可以在成员函数中使用尚未声明的成员变量?【英文标题】:Why can I use an as-of-yet undeclared member variable in a member function?为什么我可以在成员函数中使用尚未声明的成员变量? 【发布时间】:2017-02-24 09:29:19 【问题描述】:例如:
struct X
X():a10
void foo() a = 10;
private:
int a;
;
为什么在变量 a 还没有声明的时候编译?
【问题讨论】:
【参考方案1】:编译器基本上对类或结构定义进行两次传递。一个用于解析和处理成员声明的结构/类,然后一个用于内联函数。
【讨论】:
更改:“解析手把手”为“解析并处理”? 您能详细说明一下吗?以上是关于为啥我可以在成员函数中使用尚未声明的成员变量?的主要内容,如果未能解决你的问题,请参考以下文章