为什么此代码导致未处理的异常失败
why this code gives Unhandled exception failure
我使用了一个向量,因为我不知道输入的数量,但它不起作用。我该怎么办?
vector <string> str;
str[0] = "entity1 ABCDE 2x2 infected";
std::istringstream ss(str[0]);
std::string token;
vector<string> genes;
while (std::getline(ss, token, ' ')) {
genes.push_back(token);
}
for (int i = 0; i < genes.size(); i++) {
cout << genes[i];
}
在此代码中:
vector <string> str;
str[0] = "entity1 ABCDE 2x2 infected";
str
为空,因此当您访问第一个元素(在索引0
处(时,您有未定义的行为。您可以通过为向量中的一个字符串分配空间来解决此问题:
vector <string> str(1);
或者直接创建一个带有一个字符串的向量(这将创建字符串,并将其正确放入向量中(:
vector <string> str = {"entity1 ABCDE 2x2 infected"};
但是,从您的示例代码来看,您似乎根本不需要vector
,单个string
就足够了:
string str = "entity1 ABCDE 2x2 infected";
std::istringstream ss(str);
相关文章:
- 为什么此代码导致未处理的异常失败
- 使用双LL在C++中实现Stack失败,出现异常"EXC_BAD_ACCESS(代码=2,地址=0x7fff5
- 如何在使用 CFileDialog 打开文件失败时捕获异常
- 声纳库贝分析在 Eclipse 中失败,由于找不到异常语言"cpp"在本地分析中抛出错误
- 运行失败,没有任何异常
- 如何处理失败的方法:通过使用异常或使方法返回bool
- 捕获派生异常类型在 Clang/MacOS X 上失败
- 'new'语句是否可以在不引发异常的情况下失败?
- C++ 面向对象的编程异常失败
- vHRESULT 中未处理的异常失败
- C++自做异常处理失败
- 单元测试失败,异常代码为c0000005
- 异常类使用递归函数失败
- 程序在Turbo C中运行良好,但在MSVC中失败,出现未处理的异常
- 可能失败的函数的接收参数和移动语义(强异常安全性)
- 如何检查禁用异常的构造函数的失败
- 捕获异常:error: svd()收敛失败
- 试图在递归函数内部捕获失败的分配:未处理的异常/堆栈溢出
- c++异常处理失败
- 互斥锁解锁异常失败