在stroustrup的PPP2e第7章练习中找不到第3个错误

时间:2015-09-04 13:05:24

标签: c++

我在Stroustrup http://www.stroustrup.com/Programming/calculator08buggy.cpp

中找到第三个错误时遇到了问题

到目前为止,我已经在struct Token中添加了这个以获取要编译的代码:

Token(char ch, string s) :kind(ch), name(s) { }

在Token_stream ::得到我改变

while(cin.get(ch) && (isalpha(ch) || isdigit(ch))) s=ch;

为:

while(cin.get(ch) && (isalpha(ch) || isdigit(ch))) s+=ch;

和此:

if (s == "quit") return Token(name);

为:

if (s == "quit") return Token(quit);

但我无法找到最后一个错误。我似乎无法让代码破解,在重新阅读代码几次后,我再也找不到错误。

1 个答案:

答案 0 :(得分:1)

for (int i = ... //已签名与未签名的比较(使用size_t代替)

i <= names.size() //它将在最后一次有效之后访问元素

第139行还有未使用的变量

Token :: get(),double get_value(std :: string)和double primary():至少有一条路径没有返回...