在使用諸如: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 這一行,然後在這一行的前後...