我老是搞錯(cuò).
boy.h
class Boy
boy.cpp
Boy g_boy;
使用全局變量
Collection.h
#include “boy.h”
extern Boy g_boy;
似乎更優(yōu)雅的方式
#ifdef _BOY__HH__
extern Boy g_boy ;
#endif
錯(cuò)誤方式: 定義宏根本解決不了這個(gè)問題
boy.h
#pragma once
#ifndef _BOY__HH__
#define _BOY__HH__
class boy
Boy g_boy;
#endif
編譯錯(cuò)誤
1> .obj : error LNK2005: "class class 全局變量名 " (?g_CITSCache@@3VMarketCache@@A) 已經(jīng)在 XXX.obj 中定義
1> 正在生成非 SAFESEH 映像。
1>D:\XXX.exe : fatal error LNK1169: 找到一個(gè)或多個(gè)多重定義的符號(hào)
等我看了編譯原理再來解釋.
如何防止循環(huán)引用?
A->b->c->A