В g ++, когда вы получаете <error-type> в сообщении об ошибке для неудачного создания шаблона?

0

Недавно я вернулся к написанию C++, и я все еще немного ржавый после нескольких лет от него.

Я пытаюсь скомпилировать некоторый шаблонный код и получаю следующее сообщение об ошибке

error: no instance of function template "my_nice_function" matches the argument list
    argument types are: (int*, <error-type>, size_t)

для функции, принимающей T*, const T* и size_t.

Что означает <error-type>? Что, в общем, является причиной получения <error-type> в сообщении об ошибке G++?

  • 0
    Я думаю, это означает, что это ошибочный тип, который компилятор не мог определить по другим причинам. Как вы узнали, что это const T* ? (Кроме того, нет ли других ошибок?)
  • 2
    Если вы думаете, что ваша функция шаблона decl и точка в источнике, где генерируется это сообщение, будут полезны, вы были бы правы.
Показать ещё 3 комментария
Теги:
templates
compiler-errors
g++

1 ответ

4
Лучший ответ

Функция может принимать const T*, но компилятор жалуется, что вы передаете <error-type>, то есть выражение, которое компилятор не мог определить тип.

Если вам нужен более подробный ответ, вам нужно будет показать свой код, особенно код вызова.

  • 0
    На самом деле, остальная часть кода включает CUDA, и я не хотел говорить об этом, но ваш ответ был полезен. Редактируем это немного, чтобы подчеркнуть полезную часть.
  • 0
    @einpoklum: создайте чистый тестовый сценарий C ++.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню