SORU
4 Kasım 2011, Cuma


Statik için başvurusu geçersiz constexpr char[]

Sınıfımdastatic const char bir dizi yapmak istiyorum. GCC şikayet etti ve şimdi bana bir tanımsız başvuru söylüyor olsa da constexpr, kullanmam gerektiğini söyledi. Eğer dizinin üyesi olmayan bir sonra yaparsam derler. Neler oluyor?

// .hpp
struct foo {
  void bar();
  static constexpr char baz[] = "quz";
};

// .cpp
void foo::bar() {
  std::string str(baz); // undefined reference to baz
}

CEVAP
4 Kasım 2011, Cuma


Cpp dosyasına ekleyin:

constexpr char foo::baz[];

Sebep: Sana sağlamak zorundatanımstatik üye olarak yayınlamıştır. Bildirgesi ve başlatıcı sınıf tanımı içinde gitmek, ama üye tanımı ayrı olmalı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • World Science Festival

    World Scienc

    1 Mayıs 2008