Aracılığıyla paylaş


C++'da Global Sabitler

C++ genel sabitlerinin statik bağlantısı vardır. Bu C'den farklıdır. C++ dilinde birden çok dosyada genel sabit kullanmaya çalışırsanız çözülmemiş bir dış hatayla karşılaşırsınız. Derleyici genel sabitleri en iyi duruma getirerek değişken için ayrılmış alan bırakmaz.

Bu hatayı çözmenin bir yolu, ilk başlatmaları bir üst bilgi dosyasına eklemek ve gerektiğinde CPP dosyalarınıza bu üst bilgiyi işlev prototipi gibi eklemektir. Bir diğer olasılık da değişkeni sabit olmayan hale getirmek ve değerlendirirken sabit başvuru kullanmaktır.

Aşağıdaki örnek C2019 oluşturur:

// global_constants.cpp
// LNK2019 expected
void test(void);
const int lnktest1 = 0;

int main() {
   test();
}

Ve sonra,

// global_constants_2.cpp
// compile with: global_constants.cpp
extern int lnktest1;

void test() {
  int i = lnktest1;   // LNK2019
}

Ayrıca bkz.

Bağlayıcı Araçları Hatası LNK2019