亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
請(qǐng)教關(guān)于結(jié)構(gòu)變量?jī)?nèi)嵌結(jié)構(gòu)變量的問(wèn)題
[打印本頁(yè)]
作者:
yb0312
時(shí)間:
2012-09-09 11:05
標(biāo)題:
請(qǐng)教關(guān)于結(jié)構(gòu)變量?jī)?nèi)嵌結(jié)構(gòu)變量的問(wèn)題
我設(shè)計(jì)是結(jié)構(gòu)變量1包括一個(gè)指針變量指向結(jié)構(gòu)變量2。
結(jié)構(gòu)變量1:
struct logixInfo
{
char name[32]; //邏輯名
char type[32]; //類型
char description[32]; //描述
struct logicCfg *config;
struct logixInfo *next;
};
復(fù)制代碼
結(jié)構(gòu)變量2:
struct logicCfg
{
char code[16]; //功能碼
char operPoint1[32]; //操作數(shù)1
char operPoint2[32]; //操作數(shù)2
unsigned int operNum; //操作數(shù)總數(shù)
int registerNum; //占用寄存器號(hào)
struct logicCfg *next;
};
復(fù)制代碼
結(jié)構(gòu)變量1中包括一個(gè)指向結(jié)構(gòu)2變量的指針*config,兩個(gè)變量用于創(chuàng)建鏈表,但是編譯時(shí)報(bào)錯(cuò),提示如下信息:
E:\Ctest\PMScore\main.cpp(424) : error C2440: '=' : cannot convert from 'struct PmsCaculation::logicCfg *' to 'struct logicCfg *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
請(qǐng)幫我分析下,錯(cuò)誤的原因。非常感謝!
作者:
yb0312
時(shí)間:
2012-09-09 11:17
其中,先插入 logixInfo 數(shù)據(jù),返回指針 logixInfoP
然后插入 logicCfg數(shù)據(jù),返回指針logicCfgP
然后把logixInfoP->config = logicCfgP 時(shí),編譯就報(bào)上述錯(cuò)誤
作者:
lbzhung
時(shí)間:
2012-09-09 11:36
樓主最好貼出上下文代碼,我猜可能是結(jié)構(gòu)體logicCfg重復(fù)定義吧。
作者:
yb0312
時(shí)間:
2012-09-09 11:46
本帖最后由 yb0312 于 2012-09-09 11:50 編輯
回復(fù)
3#
lbzhung
struct logixInfo *logixInfoP;//定義一個(gè)指向邏輯表的指針
struct logicCfg *logicCfgp;//定義一個(gè)指向邏輯內(nèi)容表的指針
if(!nameRepeatFlag)
{
logixInfoP = logixInfoInsert(lgl[0]->arr2,lgl[1]->arr2,lgl[2]->arr2); //增加邏輯信息
for(i=3;i<countLogic;i++){ //處理邏輯組態(tài)
//printf("\n\t%-16s %-8s %-8s %-8s %-8s ",lgl[i]->arr1,lgl[i]->arr2,lgl[i]->arr3,lgl[i]->arr4,lgl[i]->arr5);
//Sleep(10);
logicCfgp=(struct logicCfg *)malloc(sizeof(logicCfg)); //申請(qǐng)內(nèi)存空間
strcpy(logicCfgp->code,lgl[i]->arr1); //存儲(chǔ)功能碼
strcpy(logicCfgp->operPoint1,lgl[i]->arr2); //存儲(chǔ)操作數(shù)1
strcpy(logicCfgp->operPoint2,lgl[i]->arr3); //存儲(chǔ)操作數(shù)2
logicCfgp->registerNum = -1; //寄存器號(hào)賦初值-1
if(i<4){ //如果邏輯信息表中沒(méi)有數(shù)據(jù)
logicCfgHead = logicCfgp; //表頭指向當(dāng)前插入的數(shù)據(jù)
logicCfgEnd = logicCfgp; //表尾指向當(dāng)前插入的數(shù)據(jù)
}else{
logicCfgEnd->next = logicCfgp; //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
logicCfgEnd = logicCfgp; //表尾指針指到當(dāng)前數(shù)據(jù)
}
logicCfgp->next = NULL; //當(dāng)前數(shù)據(jù)的next為空
}
ogixInfoP->config = logicCfgp; //config指針指向logicCfg鏈表
}
復(fù)制代碼
作者:
yb0312
時(shí)間:
2012-09-09 11:52
//插入邏輯信息
struct logixInfo *logixInfoInsert(char logicName[32],char logicType[32],char logicDscp[32]){
struct logixInfo *p;
p=(struct logixInfo *)malloc(logixInfoSize); //申請(qǐng)內(nèi)存空間
strcpy(p->name,logicName);
strcpy(p->description,logicDscp);
strcpy(p->type,logicType);
if(linkList->logixCount<1){ //如果邏輯信息表中沒(méi)有數(shù)據(jù)
logixInfoHead = p; //表頭指向當(dāng)前插入的數(shù)據(jù)
logixInfoEnd = p; //表尾指向當(dāng)前插入的數(shù)據(jù)
}else{
logixInfoEnd->next = p; //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
logixInfoEnd = p; //表尾指針指到當(dāng)前數(shù)據(jù)
}
p->next = NULL; //當(dāng)前數(shù)據(jù)的next為空
linkList->logixCount++; //邏輯總數(shù)+1*/
return logixInfoEnd; //返回當(dāng)前指針
}
復(fù)制代碼
作者:
Moon_Bird
時(shí)間:
2012-09-09 12:26
@yb0312
代碼中 424 行 的賦值語(yǔ)句是什么樣的 ?
作者:
yb0312
時(shí)間:
2012-09-09 14:23
logixInfoP->config = logicCfgp;
作者:
yb0312
時(shí)間:
2012-09-10 10:00
找到原因了,我的結(jié)構(gòu)變量都是在類中定義的,所以內(nèi)嵌時(shí)出現(xiàn)了上述問(wèn)題。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2