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"
Bunun bir derleyici hatadan daha fazla bir şey olduğunu düşünmüyorum. – ildjarn