p4.cpp 817 B

123456789101112131415161718192021222324
  1. // RUN: %clang_cc1 -fsyntax-only -verify %s
  2. struct InClassInitializerOnly {
  3. static const int i = 0;
  4. };
  5. int const InClassInitializerOnly::i;
  6. struct OutOfClassInitializerOnly {
  7. static const int i;
  8. };
  9. int const OutOfClassInitializerOnly::i = 0;
  10. struct InClassInitializerAndOutOfClassCopyInitializer {
  11. static const int i = 0; // expected-note{{previous initialization is here}}
  12. };
  13. int const InClassInitializerAndOutOfClassCopyInitializer::i = 0; // expected-error{{static data member 'i' already has an initializer}}
  14. struct InClassInitializerAndOutOfClassDirectInitializer {
  15. static const int i = 0; // expected-note{{previous initialization is here}}
  16. };
  17. int const InClassInitializerAndOutOfClassDirectInitializer::i(0); // expected-error{{static data member 'i' already has an initializer}}
  18. int main() { }