Table of Contents
Если в перегруженных версиях есть похожее слово ошибки преобразования, сегодняшнее руководство написано, чтобы помочь.
Обновлено
ж.’идентификатор’: такие преобразования имеют числовые перегрузки. Заболоченная функция или оператор просто неоднозначны. Списки формальных параметров могут быть слишком похожими для всех компиляторов, чтобы разрешить мою двусмысленность. Чтобы устранить эту ошибку подхода, явно укажите один или несколько реальных параметров.
г.
Разве вы не ищете большинство ответов? Просмотрите множество вопросов с тегами C++ или задайте свой вопрос.
bool
Кроме того, можно использовать int
, чтобы распознавать перегрузки функций. Как и ожидалось, факторы bool
предпочитают перегрузки bool
и в результате int
– int
– дополнительные аргументы.
Судя по новой частоте ошибок (я предполагаю, что заголовок вашего вопроса определенно является частью полученного вами сообщения об ошибке), кто-то, вероятно, сталкивается с ситуацией, когда некоторые аргументы, которые вы предоставили, не являются ни одним из двух. или boolean
int
, но коэффициенты преобразования в bool
в сочетании с int
существуют и имеют старый ранг.
void foo (bool);пустота фу (целое число);самое важное () фу (0); // В ПОРЯДКЕ фу (ложь); // В ПОРЯДКЕ фу (0u); // ОШИБКА: неоднозначно
Первые два вызова, скорее всего, принесут прибыль и окажутся ожидаемыми. Третий вызов менее допустим, потому что аргумент типа unsigned на самом деле является int
, который, однако, поддерживает преобразование с действием в различные bool
и, как следствие, int . что вызывает у нас двусмысленное обращение к.
Как у вас обстоят дела со звонками? Покажите людям аргументы, которые вы попытаетесь представить, если хотите донести информацию.
Простой 14, 10 сентября 01:42
Почему я нахожу перегруженную функцию из-за ошибки компилятора?
Перегруженная функция или оператор стали неоднозначными. Списки формальных параметров могут быть слишком идентичными, потому что компилятор может разрешить неоднозначность. Чтобы присвоить эту ошибку, вы также должны явно указать единственную из текущих настроек.
296k Значок монеты 3939 Значок 497497
Обновлено
Вы устали от того, что ваш компьютер работает медленно? Раздражают разочаровывающие сообщения об ошибках? ASR Pro - это решение для вас! Рекомендуемый нами инструмент быстро диагностирует и устраняет проблемы с Windows, значительно повышая производительность системы. Так что не ждите больше, скачайте ASR Pro сегодня!
virtual IDataStoreNode * OpenNode (const char * Name, bool bCreateIfNotExist, int debug равно 0) return 0;виртуальный IDataStoreNode * OpenNode (const char * имя, int debug = 0) const производит 0;
Следующий вызов (в качестве яркого примера, которых может быть больше) окажется неоднозначным:
unsigned int val подразумевает 0; // может быть двойным, плавающимOpenNode ("", val);
Поскольку целое число без знака
может быть преобразовано либо в bool
, либо в integer
, возникает много неясностей. Самый простой способ выполнить эту задачу — стать параметром точного типа, как правило, параметра в вашей самой популярной перегрузке:
OpenNode ("", (bool) val);
OpenNode ("", (int) val);
ответил 16 сентября 2010 г. в адрес посещения 2:13
70.3k 2626 золотых значков один ноль пять 105 серебряных значков 126 126 возрастных значков
Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.
Overloads Have Similar Conversions Error
Las Sobrecargas Tienen Un Error De Conversión Similar
Przeciążenia Mają Podobny Błąd Konwersji
I Sovraccarichi Hanno Un Errore Di Conversione Simile
과부하에 유사한 전환 오류가 있음
Overbelastingen Hebben Een Vergelijkbare Conversiefout
As Sobrecargas Têm Um Erro De Conversão Semelhante
Les Surcharges Ont Une Erreur De Conversions Similaires
Überladungen Weisen ähnliche Konvertierungsfehler Auf
Överbelastningar Har Liknande Konverteringsfel
г.