gpt4 book ai didi

c++ - 在 C++ 中重载模板类中的成员函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:40 26 4
gpt4 key购买 nike

我有以下类定义:

template <typename T>
class SeqVisitor {
public:
typedef string* return_type;

return_type visit(int elem) const;
return_type visit(char elem) const;
return_type visit(T elem) const;
};

当我使用 SeqVisitor<char> 时访问的调用是模棱两可的。如果我在类定义之外定义函数,那么对该函数的调用就不会产生歧义。编译器会选择一个在“T elem”上使用“char elem”。可以修复我的类定义,使其表现出相同的行为。这就是消除歧义。

最佳答案

也许

return_type visit(char elem) const;
return_type visit(T elem, ...) const;

关于c++ - 在 C++ 中重载模板类中的成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com