one-definition-rule

    0熱度

    2回答

    A.h class A { private: static const int b = 50; int c[b]; }; A.cpp #include "A.h" const int A::b; C.cpp #include "A.h" 編譯器向我發出一條警告,說b被定義了多次,而一個被忽略。我需要在類中定義它,因爲我需要初始化數組。或者

    7熱度

    3回答

    靜態變量具有文件範圍。說我有兩個以下文件: file1.h file1.cpp file2.h file2.cpp 我已經聲明爲static變量都表示static int Var1頭文件。 main.cpp文件中包含file1.h和file2.h。 我這樣做,因爲靜態變量將具有文件範圍,所以它不會相互衝突。 但編譯後,我發現它顯示衝突。 現在靜態變量的行爲如同extern變量。另一方面,如果我在.