general.h內容如下:
#pragma once
#include "h1.h"
#include
struct tt
;再建乙個h1.h
檔案,內容如下:
#include "general.h"
using namespace std;
void print(tt t)
main.cpp裡面呼叫
函式,提示錯誤,說未申明的識別符號。。請問為什麼??
main部分
#include "general.h"
using namespace std;
int main()
在main
裡面include"h1.h"
的話就不會有問題了,但是這樣為什麼不行??
general.h檔案,宣告結構體
tt#pragma once
/*這裡不需要#include "h1.h"
*/#include
struct tt
;h1.h宣告
方法,使用了結構體
tt,需要
#include "general.h"
,因為這個檔案裡包含了對
tt的宣告
#include "general.h"
using namespace std;
void print(tt t)
main部分
/*這裡不是#include "general.h"
,而是#include "h1.h"
,因為h1.h
中即包含了
方法的宣告,同時也
#include "general.h"
包含了對
tt結構體的宣告
*/#include "h1.h"
using namespace std;
int main()
常見易錯問題
型別轉換 一 const cast 去除常量特性 二 static cast 普通型別轉換和類繼承的父指標到子類指標的轉換 引用一樣 注意 不能用於物件本身,只轉換不進行執行時型別檢查 不能進行的轉換 1 p int 2 aobj bobj 3 const non const 總的來說,沒有意義的轉...
C C 易錯問題分析
傳給函式形參的實參是作為拷貝傳入,在函式體內改變作為拷貝的實參2是不會影響到傳入的實參1的。規則 1 如果想要通過函式介面改變傳入的數值,那麼需要傳入該數值的指標。2 如果想要改變傳入的指標所指向的值,那麼需要傳入該指標的指標。總之,需要深一層。int fun int fun1 修改方法 由上層呼叫...
細節問題 易錯問題 zz錯誤
一 關於精度的問題 float精度是2 23,能保證6位。double精度是2 52,能保證15位。但是預設float和double都只能顯示6位,再多需要 include 然後在輸出語句之前插入cout setprecision 20 強制輸出小數字。float fval 1.32121212f ...