我正在尝试通过c ++教科书来学习一些编程,但是我遇到了一些示例代码的问题。目标是编写一个简单的计算器程序,文本提供代码的一部分作为示例。一部分是:
if(!cin)error(“no second operand”);
如果您的输入不正确,文本会使输出显示为“错误”,但我的编译器只是说“错误”尚未定义。我正在逐字逐句地复制文本代码,所以我不确定我是否遗漏了编译器的内容,或者我是否误解了我应该如何编写代码。任何人都可以提出一些建议吗?
答案 0 :(得分:5)
你一定错过了error()
函数的定义 - 它必须在书中的某个地方,因为它不是C ++的特性。
答案 1 :(得分:1)
也许他们(作者)并不是故意要您尝试编译该代码,而只是为了理解该示例并可能自己实现它。
答案 2 :(得分:1)
我认为这本书是Stroustrup的编程原则和实践? 查看第149页和第150页,在那里进行了解释。
将此代码放在头文件中并将其包含在示例程序中:
#include <stdexcept>
void error(string s)
{
throw runtime_error(s);
}
void error(string s1, string s2)
{
throw runtime_error(s1+s2);
}