我的编译错误,我无法理解。我通常是C编码员,而且我只是开始将整个程序转换为使用C ++。所以,我已经将我的C文件重命名为CC(交叉编译),通常,我只需要手动编辑错误。然而,这个对我来说是一个谜 - 不确定这是否是C ++主义。
它是感兴趣的OPL播放器。
以下代码:
static void LoadOperatorData(int operator, const genmidi_op_t *data, bool max_level)
{
int level;
// The scale and level fields must be combined for the level register.
// For the carrier wave we always set the maximum level.
level = (data->scale & 0xc0) | (data->level & 0x3f);
if (max_level)
{
level |= 0x3f;
}
OPL_WriteRegister(OPL_REGS_LEVEL + operator, level);
OPL_WriteRegister(OPL_REGS_TREMOLO + operator, data->tremolo);
OPL_WriteRegister(OPL_REGS_ATTACK + operator, data->attack);
OPL_WriteRegister(OPL_REGS_SUSTAIN + operator, data->sustain);
OPL_WriteRegister(OPL_REGS_WAVEFORM + operator, data->waveform);
}
我在使用此代码块时出现了许多错误:
http://i.imgur.com/WHf5Q3g.jpg
所以我似乎没有正确地将它转换为C ++。如果我可以请某人以正确的方式写出来并向我解释,我将不胜感激!提前致谢! 〜卡萝兰
答案 0 :(得分:3)
operator
是C ++中的保留字(用于重载运算符),因此您不能拥有名为operator
的参数或变量。将operator
重命名为其他内容。