C++ 错误C2512:&x27;std::basic_ostream<_元素,_Traits>';:没有合适的默认构造函数仅适用于Visual Studio
我问这个问题是因为我有点无助:这个错误只在VisualStudio中发生,GCC编译它时没有错误甚至警告。因为这是一些可移植的代码,所以我正在寻找一种可以同时使用这两种编译器的解决方案(最好是不依赖于平台的C++ 错误C2512:&x27;std::basic_ostream<_元素,_Traits>';:没有合适的默认构造函数仅适用于Visual Studio,c++,visual-studio-2010,visual-c++,ostream,C++,Visual Studio 2010,Visual C++,Ostream,我问这个问题是因为我有点无助:这个错误只在VisualStudio中发生,GCC编译它时没有错误甚至警告。因为这是一些可移植的代码,所以我正在寻找一种可以同时使用这两种编译器的解决方案(最好是不依赖于平台的ifdefs) 错误C2512:'std::basic_ostream':没有合适的 默认构造函数可用 在构造定义为的MyObject类型的对象时发生 class MyObject : public Socket, public std::ostream VS在此需要哪些特殊的ostr
ifdefs
)
错误C2512:'std::basic_ostream':没有合适的
默认构造函数可用
在构造定义为的MyObject类型的对象时发生
class MyObject : public Socket, public std::ostream
VS在此需要哪些特殊的
ostream
参数?std::ostream
是std::basic\u ostream
的类型别名。std::basic_ostream
的构造函数需要一个指向与输出流关联的流缓冲区的指针。你必须提供一个
建造商的签名如下:
explicit basic_ostream( std::basic_streambuf<CharT, Traits>* sb );
另请参见以获取参考。
std::ostream
是std::basic\u ostream
的类型别名。std::basic_ostream
的构造函数需要一个指向与输出流关联的流缓冲区的指针。你必须提供一个
建造商的签名如下:
explicit basic_ostream( std::basic_streambuf<CharT, Traits>* sb );
另请参阅以获取参考。答案很好。我正在从VS2008(及更高版本)迁移到VS2012,这个问题出现了。@EJA:很高兴它帮助了你:)回答得很好。我正在从VS2008(及更高版本)迁移到VS2012这就出现了。@EJA:很高兴它帮助了你:)即使我在visual studio 2013中也遇到了同样的问题错误1错误C2512:“std::basic_ostream”:没有合适的默认构造函数可用错误请任何人帮我解决这个问题。即使我在visual studio 2013中也遇到同样的问题错误1错误C2512:“std::basic_ostream”:没有合适的默认构造函数可用错误,请任何人都可以帮助我在这方面。