错误 C2079:'X::x'使用未定义的结构'T'
error C2079: 'X::x' uses undefined struct 'T'
下面的例子是错误的,因为X
使用未定义的struct T
struct T;
struct X {
X() { }
T x;
};
struct T
{
T() { w = new X(); }
X *w;
};
int main() { }
我可以解决这个问题的一种方法是在struct X
中使用指针成员,而不是像T *x
那样使用完整类型。有没有什么棘手的方法来解决这个问题,而不改变任何类型的代码?
交换它们并概述T
的构造函数。这样,T
和X
在需要的地方都完成了。
struct X;
struct T
{
T();
X *w;
};
struct X {
X() { }
T x;
};
T::T() { w = new X(); }
int main() { }
相关文章:
- vscode g++链路故障:体系结构x86_64的未定义符号
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- 对结构方法的未定义引用
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 体系结构x86_64的未定义符号:链接器错误
- C++ std::vector<int> 体系结构的未定义符号 x86_64:
- 将结构 std::memcpy 转换为具有足够容量的 std::vector 是未定义的行为<char>吗?
- 生成文件:体系结构x86_64的未定义符号
- Xcode"体系结构x86_64的未定义符号"
- 体系结构x86_64的未定义符号:找不到原因
- 体系结构x86_64的未定义符号:c++/ h 文件和 cpp 文件
- 具有未声明/未定义类型的 typedef 结构
- 未定义的引用,尝试创建类似结构的向量
- 无法生成项目,出现错误 - 未定义的体系结构符号 x86_64:"_JNI_CreateJavaVM"
- directx中未定义结构
- 未定义结构的静态常量成员
- c++中未定义结构指针名称的typdef是如何工作的
- 为什么指向未定义结构的指针在C和c++中有时是非法的