2012-07-26 25 views
5

Dağ aslanıyla Xcode 4.4 kullanıyorum. Şablonlardaki durağan olmayan üye initalizasyonunun neden değişken için bir hareket yapıcıyı çağırdığını anlamıyorum. Bu hatayı aşmak için zaten var mı?Clang ++ Xcode 4.4 Statik Olmayan Üye Başlatma ve Taşıyıcı Oluşturucu

Örnek Kod:

#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 ve Clang söyleyen doğrultusunda hatayı atar:

Bu açık kaynak svn gövde depo üzerinde bir çınlama hatası gibi görünen
"Copying member subobject of type 'std::atomic<int>' invokes deleted constructor" 
+0

Bunun bir derleyici hatadan daha fazla bir şey olduğunu düşünmüyorum. – ildjarn

cevap

İlgili konular