IvanR 0 Denunciar post Postado Agosto 19, 2008 T é true F é false _ é null protected: char myValue; XBool XBool :: operator = (const char value) { try { if(value == '_' || value == 'T' || value == 'F') myValue = value; else throw valueException; } catch(exception& e) { cout << e.what()<< "(" << value << ")\n"; } } XBool XBool :: operator = (void*) { try { myValue = '_'; } } XBool T; T = 'T'; T = NULL; Quero aplicar o NULL para um dado valor mas está dando que o código está ambiguo, até entendi pq está ambiguo mas naum consigo tirar a mesma Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 19, 2008 tire o segundo codigo e faca mude o teste do '_'. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Agosto 19, 2008 Na primeira sobrecarga voce pode testar se o valor passado é Nulo e atribuir o valor desejado a ela. myValue = '_'; e como a Isis disse retire a seunda parte do código. Compartilhar este post Link para o post Compartilhar em outros sites
IvanR 0 Denunciar post Postado Agosto 19, 2008 Vlw gente! Resolvi fazendo isso: XBool XBool :: operator = (const char value) { if (value == NULL) { myValue = ' '; }else { try { if(value == ' ' || value == 'T' || value == 'F') myValue = value; else throw valueException; } catch(exception& e) { cout << e.what()<< "(" << value << ")\n"; } } } Agora uma coisa despertou minha curiosidade, NULL é tb um caracter ? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 19, 2008 /usr/include/libio.h:# define NULL (__null) /usr/include/libio.h:# define NULL ((void*)0) /usr/include/libio.h:# define NULL (0) Compartilhar este post Link para o post Compartilhar em outros sites