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

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

Публикации

Истории

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн