1
我正在使用Visual Studio 2010 sp1。与C++和提升1.47在Windows 7boost变体istringstream和流错误
我有以下代码:
typedef boost::variant<unsigned int,int,long,double,bool,string,istringstream,int32_t,
uint32_t,int64_t,uint32_t,sql::SQLString> SQLVariant;
我也尝试更换istringstream为istream的。我确实收到以下错误:
Error 13 error C2249: 'std::basic_ios<_Elem,_Traits>::operator =' :
no accessible path to private member declared in virtual base 'std::basic_ios<_Elem,_Traits>'
c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream 860
如果我声明了istringstream i;我没有得到错误。如果我声明istream i2,我会得到类似的错误;
我在做什么错?
我需要istream或派生类的原因,这是为我正在处理的SQL库。具体来说,对于mysql的实现,我需要一个istream或istringstream来调用setBlob ...
我发现一个临时解决方法,允许传递一个字符串,并初始化stringstream与字符串。然而,这将是很好,如果我的变量类型可以采取istreamstream或者更好的是istream
感谢, 弗兰克
那我该怎么办呢? – Blues76 2012-07-12 17:39:42
@ user1520994:你可以存储'std :: shared_ptr',因为'std :: shared_ptr <>'是可复制的。 –
ildjarn
2012-07-12 18:58:36