加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

声明结构的C问题

发布时间:2020-12-16 10:30:07 所属栏目:百科 来源:网络整理
导读:我无法看到以下(非常人为的)代码中出现了什么问题.这可能是我在mystruct中声明了一个2号向量的方式.但这不是我们如何声明一个大小为2的向量,我们还没有初始化它的内容吗? struct mystruct{ int a; int b; vectordouble c(2); }; int main(int argc,char *ar
我无法看到以下(非常人为的)代码中出现了什么问题.这可能是我在mystruct中声明了一个2号向量的方式.但这不是我们如何声明一个大小为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;    }

编译器抛出以下错误消息:

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;
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读