einen throw Fehler als compiler Fehler ausgeben?
-
Hallo,
wie kann man (speziell bei visual studio und wenn man kann) einen eigenen Fehler vom Compiler ausgeben lassen, wenn ich etwas bestimmtes mache? Ich wollte einen eigenen Datentyp programmieren, der nur integer größer 1 im Konstruktor entgegennimmt und das Programm sonst nicht kompiliert. Schlielich kann ich ja auch nicht:```cppint a ="q"
kompilieren.
-
Vermutlich garnicht. Du vermischst Compile-Time Fehler (kann der Compiler ausgeben) mit Laufzeitfehlern (treten beim Ausführen des Programms auf, da hat der Compiler seinen Job schon lange erledigt).
Ansonsten sind Exceptions oder
assert
eine Möglichkeit.Edit:
Vielleicht kann man da mitconstexpr
da was basteln, aber da kenne ich mich nicht aus. Du brauchst dazu auch einen Compiler, der mind. C++17 unterstützt.
-
Mit Compile Time Informationen könntest du das ein oder andere mit
static_assert
umsetzen.
-
Ok Danke, so könnte das funktionieren