Задать вопрос
@Quark_Hell
C++ программист

Почему я не могу модифицировать оператор в своей DLL?

По книги Яна Меллингтона я пытаюсь модифицировать оператор,добавив ему умение умножать мои координатные структуры.Однако про попытке сделать это в DLL я получаю ошибку E0345(Too few parameters for this operator function).

Вот как выглядит моё объявление оператора в DLL:
extern "C" GRAPHICLIBRARY_API void operator*= (const Vector2 value);


А вот как в моём проекте в заголовек:
void operator*= (const Vector2 value);

Что я делаю не так и как мне это обойти?Заранее спасибо за помощь.
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
я получаю ошибку E0345(Too few parameters for this operator function).
extern "C" GRAPHICLIBRARY_API void operator*= (const Vector2 value);

Оператор *= умножает что-то на что-то. А в этом прототипе у него только один параметр. Так что правильно компилятор говорит. См.

А вот как в моём проекте в заголовек:
void operator*= (const Vector2 value);

Остаётся ещё добавить, что в твоём проекте этот прототип находится внутри какого-то класса и всё встанет на свои места.

Подозреваю, что надо делать как-то так:
extern "C" GRAPHICLIBRARY_API void operator*= (Vector2& left, const Vector2 right);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы