Приветствую
Пытаюсь разбираться с концептами. Есть такой кусок кода для gcc 17 с концептами
#include <iostream>
using namespace std;
inline char func() requires true// false
{
return 'Y';
}
inline char func()
{
return 'N';
}
int main(int argc, char *argv[])
{
std::cout<<func();
return 0;
}
Возникают вопросы:
1. почему они не конфликтуют? Если убрать inline — возникает коллизия на уровне линковки, символ func определен 2 раза. Похоже на сырость реализации концептов...
2. на каком основании компилятор выбирает именно первую функцию?
живое