Неопределенная ошибка ссылки для статического члена constexpr

Рассмотрим этот код:

#include <vector>

struct A {
  static constexpr int kDefaultValue = -1;
  std::vector<int> v;
  A(int n): v(n, A::kDefaultValue) {}
};

int main() {
  A(10);
  return 0;
}

Это не в состоянии связать (llvm clang, gcc 4.9, оба на OS X):

Undefined symbols for architecture x86_64:
  "A::kDefaultValue", referenced from:
      A::(int) in main.cpp.o
ld: symbol(s) not found for architecture x86_64

Вопрос в том, что с ним не так? Это может быть исправленоstatic_cast-нуюA::kDefaultValue вint, Или двигаяkDefaultValue снаружиA, Оба случая кажутся безобразными. Это еще один способ сделать ссылку?

Ответы на вопрос(2)

Ваш ответ на вопрос