ошибка: объявление оператора как не функции

У меня ошибка компиляции, которую я не могу понять. Обычно я программист на 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 ++ должным образом. Если бы я мог попросить кого-нибудь написать это правильно и объяснить мне, я был бы очень признателен! Заранее спасибо!
~ Коралина

-1

Решение

operator является зарезервированным словом в C ++ (используется для перегрузки операторов), поэтому вы не можете иметь параметр или переменную с именем operator, переименовывать operator к чему-то еще.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]