Следующий код компилируется в x86-64 GCC 15.1
Код: Выделить всё
#include
int main() {
std::string a = "11";
std::string b = "12";
std::string c = max(a, b);
if (c == b) {
return 0;
} else {
return 1;
}
}
Код: Выделить всё
#include
int main() {
int a = 11;
int b = 12;
int c = max(a, b);
return 0;
}
Следующий код не компилируется:
Код: Выделить всё
#include
template
int max(int a, int b) {
if (a < b) {
return b;
} else {
return a;
}
}
int main() {
std::string a = "11";
std::string b = "12";
std::string c = max(a, b);
if (c == b) {
return 0;
} else {
return 1;
}
}
Итак, вопрос: какой язык C ++ языковой конструкции это имя Max ? А также это ошибка в заголовке GCC , чтобы MAX можно использовать так, как будто импортируется в глобальную область? Или это ошибка в самом компиляторе GCC?
Подробнее здесь: https://stackoverflow.com/questions/796 ... x-function
Мобильная версия