以下に示すようなコードがありますが、C++Builder-6 でうまく動作します。
プログラムを C++Builder-XE に移動し、"RiconfiguraNodo << nomeNodo ...." を呼び出すと、以下のあいまいなエラー レポートが表示されます。
以前のプロシージャー「RiconfiguraNodo」への呼び出しを書き直す方法をいくつか試しましたが、有効な解決策が見つかりませんでした。
このコード スニペットを C++BuilderXE に適した方法で書き直すにはどうすればよいですか
報告されたエラー:
[BCC32 Error] UnitMain.cpp(262): E2015 Ambiguity between 'operator
System::AutoCmd::<<(const System::Currency) at c:\program files
(x86)\embarcadero\rad studio\8.0\include\windows\rtl\sysvari.h:3561'
and 'operator System::AutoCmd::<<(const System::TDateTime)
at c:\program files (x86)\embarcadero\rad
studio\8.0\include\windows\rtl\sysvari.h:3562'
Full parser context
UnitMain.cpp(245): parsing: void _fastcall TFormMain::RiconfiguraNodo(System::UnicodeString,System::UnicodeString,System::UnicodeString,System::UnicodeString)
サンプルコード:
Procedure RiconfiguraNodo( L"RiconfiguraNodo" );
if (VarServerPmvManager.IsEmpty() || VarServerPmvManager.IsNull())
{
VarServerPmvManager = VarServerPmvManager.CreateObject(ProgId_ServerPmvmanager);
}
try
{
VarServerPmvManager.Exec( RiconfiguraNodo << nomeNodo << ipAddress << tipoPmv << cmdType );
}
catch (Exception & ex)
{
Mylog(Fun + Sysutils::Format("ERROR=[%s] ", ARRAYOFCONST((ex.Message))));
}