它们通常来自忘记包含包含函数声明的头文件,例如,此程序将给出“未声明的标识符”错误:
例如:缺少标题
int main() { std::cout << "Hello world!" << std::endl; return 0;}
要修复它,我们必须包含标题:
#include <iostream>int main() { std::cout << "Hello world!" << std::endl; return 0;}
如果您编写了标题并正确包含它,标题可能包含错误的包含保护。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa229215(v=vs.60).aspx。
拼写错误的变量
当拼错变量时,会出现另一个常见的初学者错误:
intmain(){intaComplicatedName;AComplicatedName=1;/*mindtheuppercaseA*/return0;}
范围不正确
例如,此代码会出错,因为您需要使用std::string:
#include <string>int main() { std::string s1 = "Hello"; // Correct. string s2 = "world"; // WRONG - would give error.}
申报前使用
voidf(){g();}voidg(){}
g在首次使用之前尚未申报。要修复它,要么移动g之前的定义f:
voidg(){}voidf(){g();}
或者在g之前添加声明f:
voidg();//declarationvoidf(){g();}voidg(){}//definition