Ich möchte auch zwischen direkter und Kopierinitialisierung unterscheiden und habe daher diese Konzepte geschrieben:
Code: Select all
template
concept can_direct_init_from = requires { A{std::declval()}; };
template
concept can_copy_init_from = requires { A a = std::declval(); };
Code: Select all
std::convertible_toAußerdem ist meine Version schlecht formatiert:
Fehler: erwarteter Primärausdruck vor 'a'
AFAU, ich kann nicht „declare“-Variable innerhalb einer „requires“-Klausel.
Gibt es eine Möglichkeit zu testen, „ist die Kopie initialisierbar von“? Möglicherweise durch die Korrektur meines Konzepts?
Mobile version