5

マウンテン ライオンで Xcode 4.4 を使用しています。テンプレートの非静的メンバーの初期化が変数の移動コンストラクターを呼び出す理由を理解できないようです。とにかくこのエラーを克服する方法はありますか?

コード例:

#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 および Clang は、その行に次のエラーをスローします。

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

1 に答える 1

3

これは、オープンソースのsvnトランクリポジトリのclangバグのように見えます。ここでclangに対するバグレポートを送信できますか:http : //llvm.org/bugs/

ありがとう!

于 2012-07-26T20:29:12.267 に答える