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

Этот загадочный 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

Публикации

Истории

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

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань