gpt4 book ai didi

c++ - 如何返回类中别名的类型的值?

转载 作者:行者123 更新时间:2023-11-30 03:19:11 27 4
gpt4 key购买 nike

我有一个模板类和一个别名类型。我想将此类型用作成员函数的返回值,但它无法编译。

//file.h
template<class T>
class Test {
public:
using testing = T;
T value;
testing foo();
};

//file.cpp
template<class T>
testing Test<T>::foo() { //error 'testing' does not name a type
//code
}

我怎样才能让它发挥作用?

最佳答案

通过以下方式更改 foo 的定义:

template<class T>
typename Test<T>::testing Test<T>::foo() {
}

或者像@Jarod42 建议的那样更简洁

template<class T>
auto Test<T>::foo() -> testing {
}

您还应该阅读 Why can templates only be implemented in the header file

关于c++ - 如何返回类中别名的类型的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907859/

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