我老是搞错.
boy.h
class Boy
boy.cpp
Boy g_boy;
使用全局变量
Collection.h
#include “boy.h”
extern Boy g_boy;
似乎更优雅的方式
#ifdef _BOY__HH__
extern Boy g_boy ;
#endif
错误方式: 定义宏根本解决不了这个问题
boy.h
#pragma once
#ifndef _BOY__HH__
#define _BOY__HH__
class boy
Boy g_boy;
#endif
编译错误
1> .obj : error LNK2005: "class class 全局变量名 " (?g_CITSCache@@3VMarketCache@@A) 已经在 XXX.obj 中定义
1> 正在生成非 SAFESEH 映像。
1>D:\XXX.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
等我看了编译原理再来解释.
如何防止循环引用?
A->b->c->A