gpt4 book ai didi

c++ - 带运算符的函数模板

转载 作者:IT老高 更新时间:2023-10-28 12:40:36 30 4
gpt4 key购买 nike

在 C++ 中,您可以在类上使用模板化运算符吗?像这样:

class MyClass {
public:
template<class T>
T operator()() { /* return some T */ };
}

这实际上似乎编译得很好,但令人困惑的是如何使用它:

MyClass c;
int i = c<int>(); // This doesn't work
int i = (int)c(); // Neither does this*

它完全编译的事实向我表明它是可行的,我只是不知道如何使用它!有什么建议吗,或者这种使用方法不适合?

最佳答案

你需要指定T

int i = c.operator()<int>();

很遗憾,这种情况下不能直接使用函数调用语法。

编辑:哦,你在类定义的开头缺少 public:

关于c++ - 带运算符的函数模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116654/

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