gpt4 book ai didi

c++ - 如何将类成员函数的返回类型设置为私有(private)结构的对象

转载 作者:行者123 更新时间:2023-11-27 23:45:58 24 4
gpt4 key购买 nike

抱歉标题又长又乱,但我想不出更好的方式来问这个问题。所以,我有一个类:

template <typename T>
class Set
{
public:
//random member functions here
private:
struct Node{
T key;
Node *right;
Node *left;
int height;
};
public:
Node* r_add(Node *temp);
};


Node* Set<T>::r_add(Node *temp)
{
return temp;
}

当我尝试实现函数 r_add 时,我不断收到错误消息,即外联定义的返回类型与 r_add 函数声明中的返回类型不同。当我尝试在类成员函数中调用私有(private)结构时,我不太清楚如何声明返回类型。

最佳答案

语法需要是:

template <typename T>
Set<T>::Node* Set<T>::r_add(Node *temp)
{
return temp;
}

请注意,您不必使用 Set<T>::Node*对于自范围 Set<T> 以来的参数类型将用于 Node那时。

另一种选择是使用尾随返回类型。这将使您不必键入 Set<T>超出必要的范围。

template <typename T>
auto Set<T>::r_add(Node *temp) -> Node*
{
return temp;
}

关于c++ - 如何将类成员函数的返回类型设置为私有(private)结构的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50575836/

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