Borlandの32ビットコンパイラを使用してMySql ++をコンパイルしようとしています。このコンパイラは、いくつかのテンプレート構文に問題があることはよく知られています。コンパイラはclangコンパイラに置き換えられているため、ほとんど廃止されています。BorlandコンパイラのC++テンプレートコードの書き換え方法
ただし、次のコードをコンパイル可能なバージョンに修正できる場合は、時間が節約されます。
コンパイラエラーが次の行で発生:
template <> MYSQLPP_EXPORT bool String::conv(bool) const;
コンパイラエラーがある:
[BCC32エラー] mystring.h(726):文字列「のE2506明示的な特化::コンボ<タイプ>(タイプ)const 'はあいまいです:テンプレート引数を指定する必要があります
フルパーサーコンテキスト
transaction.cpp(#)#include lib \ query.h
query.h(37):#include lib \ result.h
result.h(40):#include lib \ row.h
row.h(33):#include lib \ mystring.h
mystring .H(46):名前空間mysqlpp
String
は、カスタム文字列クラスで、conv()
機能がString
クラス内のインラインテンプレート関数である:
/// \brief Template for converting the column data to most any
/// numeric data type.
template <class Type>
Type conv(Type) const
{
// Conversions are done using one of double/long/ulong/llong/ullong
// so we call a helper function to do the work using that type.
// This reduces the amount of template code instantiated.
typedef typename detail::conv_promotion<Type>::type conv_type;
return do_conv<conv_type>(typeid(Type).name());
}
私は、様々な変更をしようとしましたが、成功なし。
あなたはこれらの提案を試してみました?:http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devwin32/compile_errambigtspec_xml.html – mike
は 'テンプレート<> MYSQLPP_EXPORTブール値の文字列をい:: CONV (bool)const; '仕事? –
NathanOliver
ありがとうNathanOliver。それは完璧に働いた!あなたのコメントを正しい答えにするにはどうすればいいですか? –