从Programming: principals and practices
第 4 章练习 1 开始:
编写一个由 while 循环组成的程序,该循环(每次围绕循环)读取两个int
s,然后打印它们。输入终止时退出程序'I'
。
到目前为止,代码一直在崩溃。当我调试时,它看起来像是在第 20 行崩溃,带有range_error
. 我查了一下,它说这是因为它试图访问不存在的东西。
|
代码还说,我no conversion from 'const char *' to 'int'
怎么能把那个符号作为一个,int
所以它可以终止?我认为这样做(char)x
是对的!
如果你有解决方案,请保持简单,因为我只在第 4 章,我刚刚学习了循环和向量。
#include "std_lib_facilities.h"
using namespace std;
int main()
{
int x = 0;
vector<int> tuggo;
cout << "Enter two ints:" << endl;
cout << "Enter a | to terminate program instead.";
while(cin>>x)
{
if ((char)x == "|")
break;
tuggo.push_back(x);
if (tuggo.size() == 1)
{
cout << tuggo[0] << tuggo[1] << endl;
keep_window_open();
break;
}
else if (tuggo.size() < 1)
cout << "Too much data, this crappy program only can handle two integers." << endl;
}
}