繁体   English   中英

CArray和const模板参数

[英]CArray and const template parameter

是否可以对CArray使用const参数

我目前正在使用像这样的CArray,但无法编译:

typedef CArray<const CString, const CString&> data_container;

而且我总是得到这个编译错误:

错误C2664:'ATL :: Checked :: memcpy_s':无法将参数1从'const CString *'转换为'void *'

CArray使用的代码期望您的TYPE是非常量的,因此可以将其强制转换为void *(如编译错误消息所述)。

您可以存储const CString指针,这将在取消引用时为您提供const CString。 您现在确实有分配/清理该内存的负担。 另一种选择是将CString包装在一个简单的类中,该类具有“ GetString”函数,该函数返回对其内部CString实例的const引用。

显然没有。 你为什么想这么做?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM