亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1620 | 回復: 7
打印 上一主題 下一主題

[C] 請教關于結構變量內嵌結構變量的問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-09-09 11:05 |只看該作者 |倒序瀏覽
我設計是結構變量1包括一個指針變量指向結構變量2。
結構變量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.         };
復制代碼
結構變量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;                                                //占用寄存器號
  8.                 struct logicCfg *next;
  9.         };
復制代碼
結構變量1中包括一個指向結構2變量的指針*config,兩個變量用于創(chuàng)建鏈表,但是編譯時報錯,提示如下信息:
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

請幫我分析下,錯誤的原因。非常感謝!

論壇徽章:
0
2 [報告]
發(fā)表于 2012-09-09 11:17 |只看該作者
其中,先插入 logixInfo 數(shù)據(jù),返回指針 logixInfoP
然后插入 logicCfg數(shù)據(jù),返回指針logicCfgP
然后把logixInfoP->config = logicCfgP 時,編譯就報上述錯誤

論壇徽章:
0
3 [報告]
發(fā)表于 2012-09-09 11:36 |只看該作者
樓主最好貼出上下文代碼,我猜可能是結構體logicCfg重復定義吧。

論壇徽章:
0
4 [報告]
發(fā)表于 2012-09-09 11:46 |只看該作者
本帖最后由 yb0312 于 2012-09-09 11:50 編輯

回復 3# lbzhung
  1. struct logixInfo *logixInfoP;//定義一個指向邏輯表的指針
  2. struct logicCfg *logicCfgp;//定義一個指向邏輯內容表的指針
  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));                //申請內存空間
  10.                         strcpy(logicCfgp->code,lgl[i]->arr1);                                        //存儲功能碼                                               
  11.                         strcpy(logicCfgp->operPoint1,lgl[i]->arr2);                                //存儲操作數(shù)1
  12.                         strcpy(logicCfgp->operPoint2,lgl[i]->arr3);                                //存儲操作數(shù)2
  13.                         logicCfgp->registerNum = -1;                                                //寄存器號賦初值-1
  14.                         if(i<4){                                                                                //如果邏輯信息表中沒有數(shù)據(jù)
  15.                                 logicCfgHead = logicCfgp;                                                //表頭指向當前插入的數(shù)據(jù)
  16.                                 logicCfgEnd = logicCfgp;                                                //表尾指向當前插入的數(shù)據(jù)                               
  17.                         }else{
  18.                                      logicCfgEnd->next = logicCfgp;                                //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
  19.                                      logicCfgEnd = logicCfgp;                                                //表尾指針指到當前數(shù)據(jù)
  20.                                 }
  21.                         logicCfgp->next = NULL;                                                //當前數(shù)據(jù)的next為空
  22.         }
  23.         ogixInfoP->config = logicCfgp;                                        //config指針指向logicCfg鏈表
  24. }
復制代碼

論壇徽章:
0
5 [報告]
發(fā)表于 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);        //申請內存空間
  5.                         strcpy(p->name,logicName);
  6.                         strcpy(p->description,logicDscp);
  7.                         strcpy(p->type,logicType);
  8.                         if(linkList->logixCount<1){                                        //如果邏輯信息表中沒有數(shù)據(jù)
  9.                                 logixInfoHead = p;                                                //表頭指向當前插入的數(shù)據(jù)
  10.                                 logixInfoEnd = p;                                                //表尾指向當前插入的數(shù)據(jù)                               
  11.                         }else{
  12.                                 logixInfoEnd->next = p;                                        //表尾數(shù)據(jù)的next指針指向新入數(shù)據(jù)
  13.                                 logixInfoEnd = p;                                                //表尾指針指到當前數(shù)據(jù)
  14.                         }
  15.                         p->next = NULL;                                                                //當前數(shù)據(jù)的next為空
  16.                         linkList->logixCount++;                                                //邏輯總數(shù)+1*/
  17.                         return logixInfoEnd;                                                                        //返回當前指針
  18.                 }
復制代碼

論壇徽章:
0
6 [報告]
發(fā)表于 2012-09-09 12:26 |只看該作者
@yb0312
代碼中 424 行  的賦值語句是什么樣的 ?

論壇徽章:
0
7 [報告]
發(fā)表于 2012-09-09 14:23 |只看該作者
logixInfoP->config = logicCfgp;

論壇徽章:
0
8 [報告]
發(fā)表于 2012-09-10 10:00 |只看該作者
找到原因了,我的結構變量都是在類中定義的,所以內嵌時出現(xiàn)了上述問題。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP