<分区>
假设我得到了这个 C++ 代码:
class class1{
class2 *x;
}
class class2{
class1 *x;
}
编译器会在第 2 行给出一个错误,因为它找不到 class2,如果我切换类的顺序也是如此。我该如何解决这个问题?
<分区>
假设我得到了这个 C++ 代码:
class class1{
class2 *x;
}
class class2{
class1 *x;
}
编译器会在第 2 行给出一个错误,因为它找不到 class2,如果我切换类的顺序也是如此。我该如何解决这个问题?
最佳答案
两件事 - 第一,类声明后需要分号:
class class1{
class2 *x;
};
class class2{
class1 *x;
};
第二,您可以在类的定义前创建一个声明。这告诉编译器这个类存在,而你还没有定义它。在这种情况下,在 class1
的定义前面放置一个 class2
声明:
class class2 ;
class class1{
class2 *x;
};
class class2{
class1 *x;
};
关于c++ - 在 C++ 中类应该以什么顺序声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/757241/