首页 > 解决方案 > C++ 中的常量表

问题描述

我正在使用使用 C++ 编译器(VisualStudio 2010 C++)的软件开发一个项目。该软件用于为实际电路制作数值模型。我在软件的不同部分编写了一些代码,ir 是 C++ 代码,但一些变量必须有一些前缀(SeqInteger 而不是 Integer,如果 Var 是模型中的连接名称,则为 ptVar,等等......)。该软件会生成包含我编写的代码和其中其他部分的 cpp 文件。

问题:我正在尝试启动一个包含常量值的表,为此,我写道:

SeqReal A[4];

A[4]={1 , 2, 1 , 3};

但是,我收到此错误:

compiling src/SeqClass__cpl.cpp
SeqClass__cpl.cpp
src/SeqClass__cpl.cpp(74) : error C2059: syntax error : '{'
src/SeqClass__cpl.cpp(74) : error C2143: syntax error : missing ';' before '{'
src/SeqClass__cpl.cpp(74) : error C2143: syntax error : missing ';' before '}'
make: *** [WinNT\debug64/SeqClass__cpl.obj] Error 512

我知道我的行的语法是错误的,但是我应该怎么写呢?它以前对我有用。

我希望我说清楚了。我只给出了这个简单的例子,但实际上,我在尝试启动 28*16 形状的矩阵时遇到了同样的错误。

谢谢 !

标签: c++matrixvisual-c++-6

解决方案


您(可能)尝试声明,然后使用大括号括起来的 list分配给 C 样式数组,这是不允许的。改为初始化:

SeqReal A[4] = {1, 2, 1, 3};

或使用容器,例如std::array

std::array<SeqReal, 4> arr;
arr = {1, 2, 1, 3};

推荐阅读