-1

複素数のクラスを作成しようとしており、虚数単位iを定数として作成したいと考えています。クラスが含まれている場合は、どのコードでも使用できるようにしたいと思います。例えば ​​:

#include "complex.h"
complex c = 2*i;

私はそれをそのように定義しようとしました:static const complex icomplex.hの下public:const complex complex::i = complex(0,1)complex.cppで。しかし、main.cppの一番上にコードを書くと、宣言されていない変数エラーが発生します。

これどうやってするの?

=: and*演算子を定義しました

4

2 に答える 2

2

complex.hで宣言extern const complex iします。

i宣言しない場合はextern、それを使用するすべてのコンパイルユニットで定義する必要があります。このような2つのコンパイル単位をリンクすると、重複した定義エラーが発生します。

于 2013-03-21T17:29:48.647 に答える
0

宣言しcomplex::iましたが、使用しようとしていますi。コードを次のように変更します

complex c = 2 * complex::i;

または、グローバル定数を作成しますi(注:これは良い考えではありませんが、名前空間内で行うこともできます)。

于 2013-03-21T17:29:52.947 に答える