Table of Contents
Si generalmente las sobrecargas tienen un mensaje de error de conversión similar, el tutorial actual está escrito para ayudar.
Actualizado
g.’identificador’: esta forma de conversión tiene sobrecargas de números. Una característica u operador sobrecargado es simplemente ambiguo. Las listas de prospectos de parámetros formales pueden ser demasiado similares para que el compilador resuelva mi ambigüedad. Para resolver este error, especifique claramente uno o más parámetros reales.
gramo.
¿No estás buscando la mayoría de las respuestas? Navegue a través de las muchas preguntas etiquetadas con C ++ o haga su propia pregunta.
bool
Al sumar, int
se puede usar para aceptar sobrecargas de funciones. Como era de esperar, las peleas bool
prefieren las sobrecargas bool
y como un int
– int
– argumentos de recargo.
Suponiendo que el nuevo concepto de error (supongo que el título de su pregunta es una parte del mensaje de error que recibió), probablemente se encuentre en una situación en la que algunos de los argumentos que proporcionó no son ni ni incluso booleano
int
, pero las conversiones que puede bool
en combinación con int
existen y son de la misma clase.
void foo (bool);foo vacío (int);int crucial () foo (0); // OK foo (falso); // OK foo (0u); // ERROR: ambiguo
Lo primero es que es probable que dos llamadas se resuelvan correctamente y también como se esperaba. La tercera llamada no es posible porque un argumento de tipo unsigned es definitivamente int
, que, sin embargo, admite cambios implícitos en varios bool
y int
. lo que nos provoca una llamada ambigua.
¿Cómo son sus funciones de llamada? Muéstrenos nuestros argumentos que intentará presentar el evento real que desea transmitir información.
Simple 16, diez de septiembre 01:42
¿Por qué obtengo la función de error del compilador ocupado?
Una función u operador sobrecargado es incierto. Las listas de parámetros formales pueden ser demasiado similares, principalmente el compilador puede resolver la ambigüedad. Para corregir todo este error, también debe emitir explícitamente una de las configuraciones actuales.
296k Insignia de moneda 3939
Actualizado
¿Estás cansado de que tu computadora funcione lentamente? ¿Le molestan los frustrantes mensajes de error? ¡ASR Pro es la solución para ti! Nuestra herramienta recomendada diagnosticará y reparará rápidamente los problemas de Windows mientras aumenta drásticamente el rendimiento del sistema. Así que no esperes más, ¡descarga ASR Pro hoy!
virtual IDataStoreNode * OpenNode (const char * Name, bool bCreateIfNotExist, int debug implica 0) return 0;virtual IDataStoreNode * OpenNode (const char 1 . nombre, int debug = 0) const restaurar 0;
La próxima llamada (como ejemplo, donde puede haber más) no será clara:
unsigned int val = 0; // podría ser doble, flotanteOpenNode ("", valor);
Dado que entero sin signo
se puede cambiar por bool
o entero
, surge la ambigüedad adecuada . La posibilidad más fácil de realizar esta tarea es convertir el parámetro específico al tipo exacto de parámetro específico en su sobrecarga más popular:
OpenNode ("", (bool) val);
OpenNode ("", (int) val);
respondió el 16 de septiembre de 2010 en viajar a las 2:13 am
70.3k
Acelera tu computadora hoy con esta simple descarga.Overloads Have Similar Conversions Error
Перегрузки имеют похожие ошибки преобразования
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