Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 未知类型名称类_C++_Forward Declaration - Fatal编程技术网

C++ 未知类型名称类

C++ 未知类型名称类,c++,forward-declaration,C++,Forward Declaration,我有以下头文件: 并且编译器总是报告“未知类型名称类”。我已经包括了远期申报,以打破循环,包括,我认为我必须。我忘了什么 编辑:我将其全部放在一个头文件中,编译器仍然报告“预期;在顶级声明器之后” 编辑2 现在我得到链接器错误。“架构x86_64的未定义符号” 解决了,问题解决了 通告包括 main.c而不是main.cpp 实际代码位于未正确链接的静态库中 在Feld.h和Figur.h之间至少有一个循环include依赖项。如果还包含头,则转发声明无效。只需删除包含项。此错误错误:未知类

我有以下头文件:

并且编译器总是报告“未知类型名称类”。我已经包括了远期申报,以打破循环,包括,我认为我必须。我忘了什么

编辑:我将其全部放在一个头文件中,编译器仍然报告“预期;在顶级声明器之后”

编辑2 现在我得到链接器错误。“架构x86_64的未定义符号”

解决了,问题解决了

  • 通告包括
  • main.c而不是main.cpp
  • 实际代码位于未正确链接的静态库中

  • Feld.h
    Figur.h
    之间至少有一个循环include依赖项。如果还包含头,则转发声明无效。只需删除包含项。

    此错误<代码>错误:未知类型名称“类”

    <>你可能是把它编译成C而不是C++。< /P>
    确保源文件具有
    .cpp
    扩展名,并且正确设置了所有相关的编译器标志。(如果您包含准确的错误消息和行号,这会有所帮助。不要尝试重新键入,只需剪切+粘贴即可。)

    头文件中出现的第一个错误是“预期;在顶级声明符之后”@SepOSep是,但行号和文件是什么?头文件没有问题,所以也显示尝试包含它的cpp源代码。你有一个.cpp文件,是吗?是的,它是一个main.c文件,我现在把它改为main.cpp。我现在正在对抗一个链接器错误“架构x86_64的未定义符号”。@SepOSep:在示例的哪一行?您使用的是什么编译器,使用的是什么编译选项?现在您还没有显示您得到的ilnker错误。如果你想让别人帮你解决问题,你必须更加努力。是的,你是对的,我把链接错误仅仅作为对roddys答案的评论