2012-07-26 7 views
5

Estoy usando Xcode 4.4 con puma. No puedo entender por qué la incialización de miembros no estáticos en plantillas invoca un constructor de movimiento para la variable. ¿Hay alguna forma de superar este error?Clang ++ Xcode 4.4 Inicialización de miembros no estáticos y constructor Mover

Código Ejemplo:

#include <iostream> 
#include <atomic> 

// 
// This class can compile 
// 
class Working 
{ 
public: 
    int GetValue() { return value_; } 

private: 
    std::atomic<int> value_{0}; 
}; 

// 
// This class cannot compile 
// 
template <typename Ty1> 
class NotWorking 
{ 
public: 
    int GetValue() { return value_; } 

    private: 
     std::atomic<int> value_{0}; // <---- error here 
}; 

int main(int argc, const char * argv[]) 
{ 
    Working working; 
    NotWorking<int> not_working; 

    return 0; 
} 

Xcode 4.4 y Clang lanza el error en esa línea que dice:

"Copying member subobject of type 'std::atomic<int>' invokes deleted constructor" 
+0

No creo que esto pueda ser nada más que un error del compilador. – ildjarn

Respuesta

3

Esto parece un error de sonido metálico de la fuente abierta repositorio SVN tronco. ¿Podría enviar un informe de error contra clang here: http://llvm.org/bugs/?

Gracias!

Cuestiones relacionadas