Warum ist ein Consteval-Funktionsausdruck KEIN primärer Ausdruck?C++

Programme in C++. Entwicklerforum
Guest
 Warum ist ein Consteval-Funktionsausdruck KEIN primärer Ausdruck?

Post by Guest »

Betrachten Sie den folgenden Codeausschnitt (kompiliert mit clang19):

Code: Select all

consteval bool IsEven(int n) {
return 0 == n % 2;
}

template
requires (IsEven(n)) // ok
void f1() {}

template
requires IsEven(n) // error: Atomic constraint must be of type 'bool'
// (found '')
void f2() {}
Die cppref-Seite sagt mir, dass IsEven(n) kein primärer Ausdruck ist. Ich frage mich nur:

Warum ist ein Konstruktionsfunktionsausdruck NICHT ein primärer Ausdruck?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post