var
タイプの変数をまたはvar*
に変換するにはどうすればよいですかvar&
var クラスのオブジェクトを取る関数を使用する必要があります (クラスがあるとします)。サンプルコードは次のように与えられました:-
testFunc(false, namespace1::namespace2::var(), 100);
関数宣言では、2 番目のパラメーターの型が であると書かれており、ornamespace1::namespace2::var&
を作成できますが、どのように作成すればよいでしょうか?namespace1::namespace2::var
namespace1::namespace2::var*
namespace1::namespace2::var&
あまりにも基本的な質問であることはわかっていますが、理解できませんでした。
編集:
just を使用してみましvar
たが、いくつかの奇妙なエラーが発生します。私が使用している機能に何らかの障害があると確信しています。ここにエラーがあります: -
Error 3 error C2825: 'CType': must be a class or namespace when followed by '::'
Error 4 error C2039: 'TypeCode' : is not a member of '`global namespace''
Error 5 error C2146: syntax error : missing ',' before identifier 'TypeCode'
Error 6 error C2065: 'TypeCode' : undeclared identifier
Error 7 error C3203: 'CustomType' : unspecialized class template can't be used as a template argument for template parameter 'Base', expected a real type
編集 2
複雑なので、実際のコードを含めると答えにくいと思いました。でも参考になれば見てください。実際の関数のシグネチャは次のようになります:-
virtual bool opRaiseEvent(bool reliable, const Common::Hashtable& parameters, nByte eventCode, nByte channelID=0, int* targetPlayers=NULL, short numTargetPlayers=NULL);
サンプルコードは次のような関数を使用しました:-
mLoadBalancingClient.opRaiseEvent(false, ExitGames::Common::Hashtable(), 100);
これは正常に機能していました。しかし、HashTable にデータを追加したいので、そのオブジェクトを作成して関数に渡す必要があります。ポインターまたは通常の変数を受け入れません。HashTable() だけで動作する理由がわかりません。