gpt4 book ai didi

c++ - 无法返回 CMap

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

使用 Visual Studio 2012,编译以下内容:

void Stuff()
{
CMap <int, int, int, int > myMap;
}

但是当我尝试返回这样的 CMap 时,如下所示:

CMap<int, int, int, int> GetEncodingMap()
{
CMap <int, int, int, int> encodingMap;
return encodingMap;
}

我得到以下编译错误:

1>          c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afx.h(559) : see declaration of 'CObject::CObject'
1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afx.h(534) : see declaration of 'CObject'
1> This diagnostic occurred in the compiler generated function 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::CMap(const CMap<KEY,ARG_KEY,VALUE,ARG_VALUE> &)'
1> with
1> [
1> KEY=int,
1> ARG_KEY=int,
1> VALUE=int,
1> ARG_VALUE=int
1> ]

无论我在 CMap 中使用什么类型,情况似乎总是如此。

有人可以帮助我了解他发生了什么事吗?是否有可能从函数返回 CMap?

最佳答案

CMap 是不可复制的对象,因为它继承自具有私有(private)复制构造函数的 CObject。如果你想让它可复制,你将需要从 CMap 继承并提供你自己的,尽管我不确定这有多可行。

关于c++ - 无法返回 CMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082373/

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