c++ - 为什么我可以在成员函数中使用尚未声明的成员变量?

标签 c++ class struct

例如:

struct X{
X():a{10} {}
void foo() { a = 10; }

private:
int a;
};

为什么在变量 a 尚未声明时编译?

最佳答案

编译器基本上对类或结构定义进行两次遍历。一种用于结构/类以解析和处理成员声明,​​然后一种用于内联函数。

关于c++ - 为什么我可以在成员函数中使用尚未声明的成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42435051/

相关文章:

c++ - 前向声明文件 *

c++ - 如何记录 system() 系统调用运行的所有命令

python - 使用 python 类的元胞自动机

eclipse - 如何使用 Eclipse 将类导入现有 Java 项目

c - "Error: expected identifier before '(访问结构时为' token"

c++ - Qt Creator 中与第 3 方库的链接错误

c++ - 我可以将指针传递给指针,分配内存,然后将其传回吗?

actionscript-3 - AS3 与 Class()

c - 释放结构内的内存时程序崩溃

c - 具有相同参数类型的结构中的函数指针