[英]How to create global constant of a class - C++
我正在嘗試創建一類復數,並希望將虛數單位i創建為常量。 當包含該類時,我希望能夠在任何代碼中使用它。 例如 :
#include "complex.h"
complex c = 2*i;
我試圖用這種方式定義它: public:
。下的complex.h中的static const complex i
,而complex.cpp中的const complex complex::i = complex(0,1)
。 但是,當我在main.cpp的頂部編寫代碼時,出現未聲明的變量錯誤。
我怎樣才能做到這一點?
注意 :我已經定義了=
和*
運算符
在complex.h中聲明extern const complex i
。
如果不聲明i
為extern
則必須在使用它的每個編譯單元中對其進行定義。 鏈接兩個這樣的編譯單元將產生重復的定義錯誤。
您聲明了complex::i
但您嘗試使用i
。 將您的代碼更改為
complex c = 2 * complex::i;
或創建一個全局常數i
(注意:這不是一個好主意;但是您可以在namspace中執行此操作)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.