此代码给出错误
不允许不完整的类型
初始值设定项过多
string *ReturnTwoStringsInArray()
{
return new string[]{"return1", "return2"};
}
Run Code Online (Sandbox Code Playgroud)
这个有效:
string *ReturnTwoStringsInArray()
{
return new string[2]{"return1", "return2"};
}
Run Code Online (Sandbox Code Playgroud)
这个也是如此:
string arr[]{"return1","return"};
Run Code Online (Sandbox Code Playgroud)
如果编译器可以从初始值设定项列表中确定所需的大小,我们不应该能够new不带参数地调用[]吗?
在C++ 编译器支持中,我们可以看到缺陷报告P1009R2:new-expressions 中的 Array size deduction尚未被所有编译器供应商采用。
P1009R2说:“措辞更改的效果应该适用于它们适用的所有先前版本的 C++ 的实现。 ”
clang++ 从 C++11 模式及更高版本的版本 9 开始支持它。
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |