解決VC 編譯報錯error C2248的方案

2022-10-04 02:09:08 字數 1006 閱讀 2698

在使用諸如:carray或是 clist等類時,經常會出現此錯誤

此錯誤的原因是由於自定義的類的陣列項時

有乙個操作如  add()  在這個操作中,實際上需要乙個 = 操作,但是這個 =操作在 自定義類中沒有實現,於是,程式自動去它的parent 類 也就是 cobject 類去找,但是卻找到個這個類的 = 是乙個 private  於是就報了這個錯誤.

知道了原因解決方法自然就有了,那就是在自定義類中 過載操作符 =   過載後 這個錯誤就沒有了.

class coptrect : public cobject

;實現**

coptrect::coptrect()

: m_optdessu***ce(0)

coptrect::~coptrect()

coptrect& coptrect::operator = (coptre程式設計客棧ct & src)

那麼在實現了這個自定義類後,開始使用它

先定義變數陣列

carray optarray;

在這個陣列後,我們使用乙個新增新元素的命令

// 向介面新增乙個操作區域

void csu***ce::addoptrect(crect start, crect end, int desid)

如此操作後,不再報上面的錯誤!問題解決

案例二:

在寫乙個mfc程式,編譯的時候出了個error c2248: 「cobject::operator =」: 無法訪問 private 成員(在「cobject」類中宣告),定位不到那部分的**出程式設計客棧了問題,

看網上有不少人也遇到了這個問題。

分析了下我寫的程式與之前的不同,其中有個乙個地方用到了image picture控制項的cstatic類物件,一開始用的指標物件,後來改成物件就除了上面的問題,改回來就ok了.

後來查了一下,這種對控制項操作的物件最好都宣告成指標,不然就會報上面的錯誤。

本文標題: 解決vc++編譯報錯error c2248的方案

本文位址:

JSONKit編譯報錯解決方法

如果從github上下來的jsonkit在使用的時候報編譯錯誤,可以按如下的方式嘗試解決 1 build phases compile sources,雙擊jsonkit.m,輸入 fno objc arc 2 修改jsonkit.m檔案第680行,修改為object setclass array,...

ansible 編譯安裝 及報錯解決

1 ansible簡介 ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批...

編譯 libiconv 報錯解決方法

第乙個方法 切換到libiconv srclib目錄下 cd srclib 修改stdio.in.件 vim stdio.in.h 通過搜尋,定位到 gl warn on use gets,gets is a security hole use fgets instead 這一行,然後在這一行的前後...