C ++无意义错误:c2629“Unexpected class”,c2065:'ceil'未声明的标识符

时间:2011-06-09 05:28:39

标签: c++ compiler-errors

我昨天有一个程序工作,将一个函数从一个文件中的一个文件移动到另一个类/文件中,突然间我得到了一系列非感性错误:

  • c2629:几个头文件开头的意外类blahblah
  • c2065:'ceil'undeclared identifier
  • c2039:xxxx不是命名空间yyyy的成员(当肯定是,并且文件包含在内)

我花了大约一天时间试图弄清楚发生了什么,我无法弄明白。有50多个文件,所以发布代码没有意义,所以我想我的问题是,为了调试这样的错误你需要找什么样的东西?

我查了一下:

  • 确保所有.h文件中都有正确的标题保护
  • 确保所有课程最后都有分号
  • 仅在.cpp文件中使用“using”指令,或在命名空间中使用
  • 寻找不匹配的花括号

我的智慧结束了。很抱歉缺少代码/信息。感谢任何帮助,谢谢。

3 个答案:

答案 0 :(得分:2)

始终从第一个错误开始并首先解决。不要被错误加载所困扰,因为编译器可能会在第一个讨厌的错误(通常是结构/类之后缺少分号)时失去语法感。

答案 1 :(得分:0)

复制函数定义时,是否用新类替换了该函数定义中的类名?即

void oldclass::func()
{
}

变为:

void newclass::func()
{
}

我知道这听起来微不足道......但你确实在寻求建议:D

答案 2 :(得分:0)

检查您是否错误地在某个源文件的开头插入了某些字符。这种情况发生在我身上几次,并且可以在包含的头文件中给出奇怪的错误。