【发布时间】:2020-11-14 05:09:43
【问题描述】:
我想根据传入的字符串在函数中创建一个 char 数组。
bool foo(string s1, string s2) {
char s1_char_array[] = s1;
char s2_char_array[] = s2;
}
但我遇到了
"Initialization with '{...}' expected for aggregate object."
对于这两种声明。
我尝试了很多变通方法,但它们都有自己的错误。学习 C++ 和我找到的每个教程都具有硬编码的价值。如何使这项工作?
【问题讨论】:
-
你可以创建一个
char*,你可以用new[]而不是char[]分配,因为你需要在编译时知道字符串的大小。请记住,c++ 中的数组在编译时必须具有固定大小。 = 部分也不适用于其中任何一个。 -
你为什么想要数组?不会直接(通过
operator[])使用std::string的元素吗?如果需要数据副本,使用std::vector或另一个std::string怎么样?