Как стать автором
Обновить

Этот загадочный C++ (std::min и static const int)

Время на прочтение1 мин
Количество просмотров2K
Внезапно обнаружилось что g++ не компилирует (а точнее не линкует) следующий код (в MS VS 2008 работает)

#include <algorithm>

struct Test
{
  static const int a = 0, b = 1;
};

int main()
{
  std::min(Test::a, Test::b);
  return 0;
}


* This source code was highlighted with Source Code Highlighter.


с диагнозом:
Fail.cpp:(.text+0x15): undefined reference to `Test::a'
...


Если присвоить значения константам вне класса (const int Test::a = 0), то всё работает.
Теги:
Хабы:
Всего голосов 14: ↑9 и ↓5+4
Комментарии3

Публикации

Ближайшие события