亚洲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:
  1.         struct logixInfo
  2.         {                                                               
  3.                 char name[32];                                                //邏輯名
  4.                 char type[32];                                                        //類型
  5.                 char description[32];                                        //描述
  6.                 struct logicCfg *config;
  7.                 struct logixInfo *next;
  8.         };
復(fù)制代碼
結(jié)構(gòu)變量2:
  1. struct logicCfg
  2.         {                                                               
  3.                 char code[16];                                                        //功能碼
  4.                 char operPoint1[32];                                        //操作數(shù)1
  5.                 char operPoint2[32];                                        //操作數(shù)2
  6.                 unsigned int operNum;                                        //操作數(shù)總數(shù)
  7.                 int registerNum;                                                //占用寄存器號(hào)
  8.                 struct logicCfg *next;
  9.         };
復(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
  1. struct logixInfo *logixInfoP;//定義一個(gè)指向邏輯表的指針
  2. struct logicCfg *logicCfgp;//定義一個(gè)指向邏輯內(nèi)容表的指針
  3. if(!nameRepeatFlag)
  4.         {
  5.                 logixInfoP = logixInfoInsert(lgl[0]->arr2,lgl[1]->arr2,lgl[2]->arr2);        //增加邏輯信息
  6.                 for(i=3;i<countLogic;i++){                                                                                //處理邏輯組態(tài)                               
  7.                         //printf("\n\t%-16s %-8s %-8s %-8s %-8s ",lgl[i]->arr1,lgl[i]->arr2,lgl[i]->arr3,lgl[i]->arr4,lgl[i]->arr5);
  8.                         //Sleep(10);
  9.                         logicCfgp=(struct logicCfg *)malloc(sizeof(logicCfg));                //申請(qǐng)內(nèi)存空間
  10.                         strcpy(logicCfgp->code,lgl[i]->arr1);                                        //存儲(chǔ)功能碼                                               
  11.                         strcpy(logicCfgp->operPoint1,lgl[i]->arr2);                                //存儲(chǔ)操作數(shù)1
  12.                         strcpy(logicCfgp->operPoint2,lgl[i]->arr3);                                //存儲(chǔ)操作數(shù)2
  13.                         logicCfgp->registerNum = -1;                                                //寄存器號(hào)賦初值-1
  14.                         if(i<4){                                                                                //如果邏輯信息表中沒(méi)有數(shù)據(jù)
  15.                                 logicCfgHead = logicCfgp;                                                //表頭指向當(dāng)前插入的數(shù)據(jù)
  16.                                 logicCfgEnd = logicCfgp;                                                //表尾指向當(dāng)前插入的數(shù)據(jù)                               
  17.                         }else{
  18.                                      logicCfgEnd->next = logicCfgp;                                //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
  19.                                      logicCfgEnd = logicCfgp;                                                //表尾指針指到當(dāng)前數(shù)據(jù)
  20.                                 }
  21.                         logicCfgp->next = NULL;                                                //當(dāng)前數(shù)據(jù)的next為空
  22.         }
  23.         ogixInfoP->config = logicCfgp;                                        //config指針指向logicCfg鏈表
  24. }
復(fù)制代碼

作者: yb0312    時(shí)間: 2012-09-09 11:52
  1.         //插入邏輯信息
  2.                 struct logixInfo *logixInfoInsert(char logicName[32],char logicType[32],char logicDscp[32]){
  3.                         struct logixInfo *p;
  4.                         p=(struct logixInfo *)malloc(logixInfoSize);        //申請(qǐng)內(nèi)存空間
  5.                         strcpy(p->name,logicName);
  6.                         strcpy(p->description,logicDscp);
  7.                         strcpy(p->type,logicType);
  8.                         if(linkList->logixCount<1){                                        //如果邏輯信息表中沒(méi)有數(shù)據(jù)
  9.                                 logixInfoHead = p;                                                //表頭指向當(dāng)前插入的數(shù)據(jù)
  10.                                 logixInfoEnd = p;                                                //表尾指向當(dāng)前插入的數(shù)據(jù)                               
  11.                         }else{
  12.                                 logixInfoEnd->next = p;                                        //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
  13.                                 logixInfoEnd = p;                                                //表尾指針指到當(dāng)前數(shù)據(jù)
  14.                         }
  15.                         p->next = NULL;                                                                //當(dāng)前數(shù)據(jù)的next為空
  16.                         linkList->logixCount++;                                                //邏輯總數(shù)+1*/
  17.                         return logixInfoEnd;                                                                        //返回當(dāng)前指針
  18.                 }
復(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