在同一行的分配我声明了类型,没有返回任何错误并在以下示例中正确编译:
HttpRequests
但是下面没有编译,因为我们知道,在c ++中不可能进行数组赋值。
#include <iostream>
int main() {
char c[5] = "Hey!";
}
答案 0 :(得分:2)
初始化和分配之间存在差异。在第二个示例中,您要做的不是初始化,而是分配。但是在C ++中不可能对数组赋值。
当您声明数组时,您只能对数组进行多次赋值:
char c[5] = "Hey!";
相当于
char c[5] = {'H', 'e', 'y', '!', '\0'};
声明后,您必须单独分配每个值,即
c[0] = 'H';
c[1] = 'e';
c[2] = 'y';
c[3] = '!';
c[4] = '\0';
或者您可以使用STL容器,在这种情况下(字符数组)std::string
是合适的:
std::string c;
c = "Hey!;