Могу ли я использовать три способа сравнения (<=>) с помощью g ++? - PullRequest
0 голосов
/ 14 июля 2020

Я хочу попробовать использовать оператор сравнения трех способов (<=>), но ...

код:

#include <compare>

int main(){
  .
  .
  .
}

команда:

g++ -std=c++2a compare.cpp

output:

compare.cpp:10:10: fatal error: compare: No such file or directory
   10 | #include <compare>
      |          ^~~~~~~~~
compilation terminated.

Я не смог найти никакого решения, чтобы исправить эту ошибку. Я использую g ++ 9.3.0.

Разве g ++ еще не поддерживает <compare>? Если да, как исправить эту ошибку с помощью g ++? Или, если нет, научите меня другому способу использования <compare> без g ++.

1 Ответ

2 голосов
/ 14 июля 2020

Могу ли я использовать трехстороннее сравнение (<=>) с использованием g ++?

Да, это действительно работает .

Но помните, что , как отмечают комментаторы:

  1. Это должна быть достаточно последняя версия G CC - 10.x по крайней мере
  2. Этот заголовок и оператор космического корабля <=>, являются частью стандарта языка C ++ 20. Поэтому вам нужно указать -std=c++20 (или -std=c++2a в более ранних версиях), чтобы их можно было использовать.
...