我无法看到以下(非常人为的)代码中出现了什么问题.这可能是我在内部声明了2号向量的方式mystruct
.但这不是我们如何声明一个大小为2的向量,我们还没有初始化它的内容吗?
struct mystruct
{
int a;
int b;
vector<double> c(2); };
int main(int argc, char *argv[])
{
mystruct test;
(test.c)[0]=3.4;
(test.c)[1]=1.8;
return 0; }
Run Code Online (Sandbox Code Playgroud)
编译器抛出以下错误消息:
g ++ -Wall simple.cpp
simple.cpp:18:错误:数字常量之前的预期标识符
simple.cpp:18:错误:在数字常量之前预期','或'...'
simple.cpp:在函数'int main(int,char**)'中:
simple.cpp:32:错误:数组下标的类型'[int]'无效
simple.cpp:33:错误:数组下标的类型'[int]'无效
您无法mystruct::c
在类定义中初始化,这必须在构造函数中完成.
struct mystruct {
mystruct() : c(2) { }
vector<double> c;
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1326 次 |
最近记录: |