gpt4 book ai didi

c++ - 通过模板化类中的成员函数返回不可修改的引用

转载 作者:行者123 更新时间:2023-11-28 02:37:39 25 4
gpt4 key购买 nike

我是 C++ 的新手,我想返回一个不可修改的引用。我收到此错误:

 __error C2365: 'NVPair<A,B>::name' : redefinition; previous definition was 'data member'
: see declaration of 'NVPair<A,B>::name'__

NVPair.h

#include<iostream>
using namespace std;

template <typename A, typename B>
class NVPair {

A name;
B value;

public:
NVPair();
NVPair(const A& nm, const B& vl)
{
name = nm;
value = vl;
}

A& name() const
{
return name;
}

B& value() const
{
return value;
}
};

如果你们需要更多代码,请告诉我。

最佳答案

除了命名问题,您还会遇到声明为 const 的成员函数和返回对数据成员的非 const 引用的问题:

A& get_name() const                    
{
return name;
}

// has to be:
const A& get_name() const
{
return name;
}

关于c++ - 通过模板化类中的成员函数返回不可修改的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965851/

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