1
#ifndef C_H
#define C_H
#include <memory>
class C
{
public:
    C(){};
    ~C() {};
};
typedef auto_ptr<C> CPtr;


#endif

上記のコードは問題ないように思えますが、VC10 でコンパイルすると、次のエラーが発生しました。'<'" の前。それについてのアイデアは大歓迎です。

4

1 に答える 1

6

#include <memory>auto_ptr-namespaceであなたを与えるstdので、あなたを次のものに置き換えることでこれをコンパイルすることができますtypedef:

typedef std::auto_ptr<C> CPtr;

または、ヘッダーでこれを行うべきではありませんがauto_ptr、ステートメントを使用して現在の名前空間に導入することもできます。これを行うには、 orusingのようなステートメントを追加する必要があります。using std::auto_ptr;using namespace std;

于 2012-07-05T15:43:32.503 に答える