[問題] 關於Class指標的觀念
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC4.7.2 MinGW64
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
NO
問題(Question):
想請問"寫法1"與"寫法2"的差別是什麼
寫法1: MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*) GMGID;
寫法2: MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*)*GMGID;
這是Modflow 的原始碼
下載時他的程式為"寫法2"
但會出現waning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
但
我改成"寫法1"時waning不見了
可是我不懂語法上的義意
問題如下
(1)想請版上的高手這樣改裡面的值會不會一樣?
(2)語法上的義意差在哪裡?
__
其中
GMGID與MF2KGMG_operator定義如下
int* GMGID
typedef struct MF2KGMG_operator
{
r_data rd; /* Vector Data */
r_vector r; /* Residual */
r_vector z; /* Head-Change */
GEN_operator CCFD; /* Cell-Centered Finite Difference Matrix */
GEN_operator CCFDMG; /* Multilevel CCFD Operator */
GEN_operator PCG; /* Preconditioned Conjugate Gradient */
double w; /* Relaxation Parameter */
CCFD_operator *CCFD_ptr; /* Pointer to access CCFD operator */
}MF2KGMG_operator;
MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*)*GMGID;
MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*) GMGID;
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.104.111
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章