2 回答

TA貢獻1815條經(jīng)驗 獲得超10個贊
CPen 要頭文件 #include <afxwin.h>
不是聲明了 CPen pen, 就可以調(diào)用。
要 CPen::CreatePen(....) 或 CPen::CreatePenIndirect(...)
建了對象后才真正有pen
“自己寫了一個類”, CPen pen 應(yīng)當(dāng)是屬于這個類的成員啦,這個類的constructor 要對它初始化。真正有pen后才能調(diào)用。
void Display(CPen pen){。。。} 屬于聲明,這里的 CPen pen 是形參。
調(diào)用函數(shù)時候,用實參,你的實參有問題,就會出錯。
“pen變量”-- pen 是 class, 不是簡單的變量,所以問題比較復(fù)雜。
CObject--CGdiObject--CPen

TA貢獻1942條經(jīng)驗 獲得超3個贊
對象如果要作為參數(shù)來傳遞,必須定義拷貝構(gòu)造函數(shù)。但實際上很多對象的創(chuàng)建和銷毀過程是比較復(fù)雜的,不適合直接拷貝。如果你要用CPen作為參數(shù)傳遞,建議采用引用的方法:
void Display(CPen& pen)
{
}
或者
void Display(const CPen& pen)
{
}
添加回答
舉報