c++ - 数组初始化,初始化器值太多
问题描述
我正在定义一个这样的成员变量:
float m_Colors[4];
在构造函数中,我想像这样初始化它:
m_Color = {0.0f, 0.0f, 0.0f, 1.0f};
即使我在这个特殊场合之前已经这样做了一百万次,我也会收到错误“太多初始化值”。这两行非常简单的代码怎么可能有问题?请启发我。
解决方案
您不能使用初始化器语法再次重新初始化数组(在class
构造时它已经默认初始化)。
您可以在构造时使用使用 actor
initializer list
来初始化。array
class
struct S
{
S( )
: floats_{ 1.0f, 2.2f, 3.3f, 4.4f }
{ }
private:
float floats_[ 4 ];
};
推荐阅读
- internet-explorer - 如何将 IEDriverServer 与 Robotframework 一起使用?
- symfony - 学说嵌套实体级联持续存在:如何重用现有实体
- asterisk - 使用 UniMRCP 进行双向通信的 Googl ASR 集成
- laravel - 课程视频在 laravel 中找到的缩略图
- python - 使用 BeautifulSoup 抓取时,DIV 标签的内容为空
- go - 有没有办法确定当前步骤是否是目录?
- node.js - 如何使用 NODEJS 后端监控网站中的所有事件?
- android - 我的 android 应用程序无法从 python 接收 fcm 消息
- google-home - Google Assistant(Google Home):基于网络查询的动态响应
- typescript - 使 Typescript 对象属性成为对象的通用数组?