QCache本来就是模板类,将它定义在模板类中,take方法报错
时间: 2024-02-25 14:55:05 浏览: 61
Qt常用类及其中文的介绍全.doc
如果你将`QCache`定义在一个模板类中,并且在模板类中定义了一个`take`方法,可能会导致编译器无法确定使用哪个`take`方法,从而引发编译错误。
为了避免这种情况,你可以使用C++的作用域解析运算符`::`来指定使用`QCache`的`take`方法。具体来说,假设你在一个名为`MyCache`的模板类中定义了一个`take`方法,你可以使用以下方式调用`QCache`的`take`方法:
```cpp
template<class Key, class T>
class MyCache
{
public:
T take(const Key& key)
{
// 调用 QCache 的 take 方法
return QCache<Key, T>::take(key);
}
// ...
};
```
这样就可以避免编译器无法确定使用哪个`take`方法的问题了。
阅读全文