我在Stroustrup的http://www.stroustrup.com/Programming/calculator08buggy.cpp中找不到第三个错误时遇到问题

到目前为止,我已经在struct Token中添加了此代码以进行编译:

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


在Token_stream :: get中,我已经更改了

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);


但我找不到最后一个错误。我似乎无法使代码中断,并且在重新阅读了几次代码之后,我再也找不到错误了。

最佳答案

for (int i = ... //有符号与无符号比较(使用size_t代替)

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

以及第139行的未使用变量

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

关于c++ - 在stroustrup的PPP2e第7章练习中找不到第三个错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32398834/

10-14 08:31