3

ああ:

#ifndef A_h
#define A_h

#include "string"

extern std::string a;

#endif

A.cpp のグローバル スコープ:

#include "A.h"

std::string a = "a";
4

2 に答える 2

3

コードには 1 つの定義 (CPP ファイル内の定義) しかないため、変数を再定義していません。externヘッダーにあるのはキーワードを使用するため、宣言です。CPP ファイルは、ヘッダーで宣言された変数に定義を提供します。

于 2013-08-11T13:05:48.737 に答える