从模板函数内部的类型中删除常数。
|
void foo (void *p); // library function; can\'t edit
template<typename T>
void Remove (T *p)
{
// main code
foo(p); // Can we remove const ness of T here ?
}
我有多个功能,例如Remove()
,也可以用const T*
调用,而与ѭ3not不匹配。如果不超载/专门化overload1ѭ,我可以去除remove6ѭ的const
度吗? ...用法:
const int *p;
Remove(p); // error related to `foo()`
没有找到相关结果
已邀请:
4 个回复
蕉衫
测试:https://ideone.com/L6urU
淑灯
如下使用它:
(或者进一步针对(非)const指针专门化模板。)
膝垫富顷
犯痪桂涛杭
做
,然后对
做
:
公认很丑陋。