Sam*_*rsa 1 c++ compiler-warnings
有时你有一个被设计为继承的类,但并不是所有的函数都应该一直使用.因此,为了使更易读和更容易维护的派生类,定义了可继承的函数,但它们是空的(而不是纯虚拟的).RakNet的一个例子
virtual void OnDirectSocketReceive(const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress) {(void) data; (void) bitsUsed; (void) remoteSystemAddress;}
Run Code Online (Sandbox Code Playgroud)
现在,在大多数情况下,函数有一些参数,并且在4级警告上,它给出了未使用函数参数的警告.我目前正在关注上面的RakNet示例,并且对数据一无所知.这是摆脱警告的标准/常用方式吗?这个设计可以完全避免吗?任何一般的想法/见解/建议?
另一种方法是不命名参数.这表明该函数无意使用它们:
virtual void OnDirectSocketReceive(const char* /*data*/, const BitSize_t /*bitsUsed*/, SystemAddress /*remoteSystemAddress*/)
{ }
Run Code Online (Sandbox Code Playgroud)