c ++错误C2512

时间:2013-04-15 13:18:07

标签: c++ constructor

我收到了错误:

error C2512:'std::basic_ostream<_Elem,_Traits>' : no appropriate default
constructor available

使用以下代码:

class Sentence
{
public:
    Sentence(void){}
    ~Sentence(void);
    static void CreateHeader(std:string& s);
    class Word {
        public:
            std:ostream s;

            Sentence::Word(){ s<<""; }

            Word(char*);
            ~Word();
    };
};

构造函数Sentence::World(){ s <<""; };无效。

2 个答案:

答案 0 :(得分:1)

std:ostream没有默认构造函数 - 请参阅http://en.cppreference.com/w/cpp/io/basic_ostream/basic_ostream

你想做什么?你在寻找std :: cout,std :: ofstream还是std :: stringstream?

答案 1 :(得分:0)

这是msdn解释http://msdn.microsoft.com/fr-fr/library/9zkz8dx6(v=vs.80).aspx

简而言之,您需要添加一个默认构造函数:

Sentence(){}