小编Dan*_*iaz的帖子

如何实现variadic虚拟成员函数

所以我有这个功能......

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)

c++ parameters variadic-functions c++11

9
推荐指数
2
解决办法
570
查看次数

标签 统计

c++ ×1

c++11 ×1

parameters ×1

variadic-functions ×1