数组大小分配错误
Array size allocation error
我在下面粘贴的这段代码中遇到了错误。它说:
1.表达式必须具有常量值。
2.表达式未求值为常数
#include <iostream>
#include <string>
using namespace std;
int main()
{
string ko = "flip";
int kosize = ko.size();
char arra[kosize] = { 1,3,2 };
cin.ignore(numeric_limits<streamsize>::max(),'n');
return 0;
}
那么如何根据字符串的大小分配数组呢?
那么如何根据字符串的大小分配数组呢?
您可以使用动态分配的数组,例如:
char* arra = new char[kosize];
arra[0] = 1;
arra[1] = 3;
arra[2] = 2;
但是,像这样使用动态分配的内存会给您带来管理该内存的负担。您必须确保释放内存。最好使用std::vector
.
std::vector<char> arra(kosize);
arra[0] = 1;
arra[1] = 3;
arra[2] = 2;
相关文章:
- vector.resize()中的分配错误
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 正在理解智能指针,但出现错误:未分配正在释放的指针
- 如何修复只读对象中成员的错误分配?
- 无法将错误分配给成员函数中"类型的实体"
- 分段错误分配函数结果
- 如何实现,错误分配中止而不是抛出异常
- C++代码错误分配
- 如何修复错误分配C++运行时错误
- 分段错误 - 分配类困难
- 带有数组类型表达式的错误分配
- Sprintf 缓冲区问题,错误分配给字符数组
- 而 (p=strtok(NULL, "," )) 警告:p可识别的错误分配
- 错误:分配只读位置“arr2.IntArray::operator[](1)”arr2[1]=24;
- std::映射错误分配错误
- 为什么"e.what()"打印"错误分配"?
- std::vector<const char *>的错误分配效果?
- 使用指向类的指针进行错误分配
- 错误:分配只读引用“__b”
- 向量错误分配错误 C++