2012-07-06 12 views
11

tengo la Compiler Error C2071 cuando trato de poner en práctica el explicit operator bool:operador explícita de error bool

class C 
{ 
public: 

    explicit operator bool() const 
    { 
     return !!*this; 
    } 
}; 

¿Por qué? ¿Como puedó resolver esté problema?
Estoy usando Visual Studio 2012 RC.

+7

Por lo que sé, Visual Studio no es compatible con esta característica. Creo que estás atrapado con la fraseología segura bool^Whack. –

+9

forma extraña de hacer bucles infinitos ... – PlasmaHH

+3

En g ++ 4.7, produce [Desbordamiento de pila] (http://stackoverflow.com). –

Respuesta

11

Visual Studio 2012 no admite operadores de conversión explícitos, consulte C++11 Features in Visual C++ 11.

Estos artículos hablan de la idioma bool segura:

+0

En Visual Studio 2012 instalé el CTP de noviembre: http://aka.ms/vc-ctp Se suponía que este paquete de actualización del compilador debía agregar (entre otras características de C++ 11) un operador de conversión explícito. Pero la sintaxis todavía no funciona. ¿Me estoy perdiendo de algo? – prapin

Cuestiones relacionadas