[英]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.