C++ C++;非感官错误:c2629“;意外类“;,c2065:';ceil&x27;未声明的标识符

C++ C++;非感官错误:c2629“;意外类“;,c2065:';ceil&x27;未声明的标识符,c++,compiler-errors,C++,Compiler Errors,昨天我有一个程序在运行,将一个函数从一个文件中的一个类移动到另一个类/文件中,突然我遇到了一系列非感官错误: c2629:在几个头文件的开头出现意外的类blahblah c2065:“ceil”未声明的标识符 c2039:xxxx不是名称空间yyyy的成员(当然是,并且包含该文件) 我花了大约一天的时间想弄清楚到底发生了什么,但我搞不清楚。有50多个文件,所以发布代码没有意义,所以我想我的问题是,为了调试这样的错误,您需要什么样的东西 我查过: 确保所有.h文件中都有适当的头保护 确保所有

昨天我有一个程序在运行,将一个函数从一个文件中的一个类移动到另一个类/文件中,突然我遇到了一系列非感官错误:

  • c2629:在几个头文件的开头出现意外的类blahblah
  • c2065:“ceil”未声明的标识符
  • c2039:xxxx不是名称空间yyyy的成员(当然是,并且包含该文件)
我花了大约一天的时间想弄清楚到底发生了什么,但我搞不清楚。有50多个文件,所以发布代码没有意义,所以我想我的问题是,为了调试这样的错误,您需要什么样的东西

我查过:

  • 确保所有.h文件中都有适当的头保护
  • 确保所有类的结尾都有分号
  • 将“using”指令仅放在.cpp文件或命名空间中
  • 寻找不匹配的花括号

我束手无策。很抱歉,缺少代码/信息。感谢您的帮助,谢谢。

始终从第一个错误开始,并首先解决该错误。不要被大量错误所困扰,因为编译器在第一个严重错误(通常是结构/类后缺少分号)时可能会失去语法意义。

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

void oldclass::func()
{
}
变成:

void newclass::func()
{
}

我知道这听起来很琐碎。。。但是您确实征求了一些建议:D

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

将其放回原处。喝杯咖啡,回来,重新开始。看看你是否能解决问题。你犯了一些错误。请修复它。你检查了头文件的循环包含吗?@Naveen:不,我下一步会尝试,谢谢。事实上,我确实犯了那个错误,但更正了它,并收到了一组不同的错误消息。