所以我有这个功能......
virtual void CallRemoteFunction( const char* pServerGameObjectId, const char* pFunctionName, OVariant arg1 = OVariant(), OVariant arg2 = OVariant(), OVariant arg3 = OVariant(), OVariant arg4 = OVariant(), OVariant arg5 = OVariant(), OVariant arg6 = OVariant(), OVariant arg7 = OVariant(), OVariant arg8 = OVariant(), OVariant arg9 = OVariant() );
Run Code Online (Sandbox Code Playgroud)
我决定重写这个功能,因为坦白说,我很尴尬.该函数很简单......采用可变数量的未知类型的参数并执行操作.
我对现代C++很新,所以我做了一些搜索,并假设我会找到一些简单/优雅的新方法.我想象了......
//hypothetical code
virtual void CallRemoteFunction( const char* pServerGameObjectId, const char* pFunctionName, ... args )
{
std::vector<OVariant> argsArray;
for (auto& arg : args )
{
argsArray.push_back(arg)
}
//do other stuff
}
//end …Run Code Online (Sandbox Code Playgroud)