#include<iostream> using namespace std; int main() { string *week[2] = { "Sunday","Monday" }; }为何报错
时间: 2024-02-26 10:58:08 浏览: 78
#include <iostream>
这段代码会报错,因为week是一个指向字符串指针的数组,而你在初始化week数组时,使用了字符串字面量来初始化它的元素,这是不允许的。正确的做法是使用字符串指针来初始化,例如:
```c++
#include <iostream>
using namespace std;
int main() {
string* week[2] = { new string("Sunday"), new string("Monday") };
for (int i = 0; i < 2; i++) {
cout << *week[i] << endl;
}
delete week[0];
delete week[1];
return 0;
}
```
这里我们使用了new运算符来动态地创建两个string对象,并将它们的地址存储在week数组中。在访问week数组中的元素时,需要使用间接寻址运算符*来获取对应的字符串。最后,我们需要手动释放动态分配的内存,以避免内存泄漏。
阅读全文