这是我要使用的代码的简短示例:
template <class T>
class B
{
public :
bool func1(const T& t)
{
// do something
}
};
class A
{
B<int*> b;
public:
void func2(const int* a)
{
b.func1(a);
}
};
我收到此错误:
错误 C2664:“B::func1”:无法将参数 1 从“const int *”转换为“int *const &”
是一种在不更改函数声明且不使用 const_cast 的情况下解决此问题的方法吗?
编辑:
问题背后的一些信息
B
实际上是我写的一个容器类(比如说一个列表)A
是使用该列表的类func1
是一个需要查找元素是否在列表中的函数func2
是一个接收要从列表中删除的元素的函数