我定義了三個源檔案,其中一個存盤資料,另一個為主函式,第三個為修改資料.由于第二三個都需要用到第一個函式,于是都參考了第一個函式,但由于第一個函式中有函式的定義以及全域變數的定義,導致報錯redefinition of XXX.
下面是第一個的代碼
# include<stdio.h>
void cal_database(void)
{
static int total_num = 0;
struct record
{
int number;
char name[10];
int enter_year;
char indentity_in_school[100];
char apartment[20];
char area[20];
char intro[1000];
}num[101];
for(int i=1; i<100; i++)
{
if(num[i].name[0] != '\0')
total_num++;
else
break;
}
}
然后第二三個都include"database.cpp"了
報錯:
uj5u.com熱心網友回復:
創建一個database.h檔案,里面內容如下
#ifndef _FILE_DATABASE_H_
#ifdefine _FILE_DATABASE_H_
void cal_database(void);
#endif
然后第二三個都include"database.h"了
uj5u.com熱心網友回復:
樓主你用的什么開發環境,莫非沒有專案或者解決方案或者Makefile的概念?源代碼檔案是無需include的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/233272.html
標籤:新手樂園
上一篇:界面庫分享
下一篇:相互呼叫的函式中定義的區域變數
