Tag: static-assert
Eine assertion-Anweisung, die überprüft wird bei der Kompilierung. Ein feature von C++11/C++14, unterstützt durch gcc seit 4.3
5
Antworten
Habe ich versucht, dieser Vorschlag zu tun, eine statische behaupten, aber ich komme nicht auf einen Kompilierungsfehler, wenn ich es innerhalb einer Methode einer Vorlage. Das Beispiel folgt : #include <iostream> #define STATIC_ASSERT(expr, msg) \ { \
6
Antworten
Da boost ist verboten, in einer Firma für die ich arbeite, die ich implementieren müssen, um seine Funktionalität in reinem C++. Ich habe mir in boost Quellen, aber Sie scheinen zu Komplex, zu verstehen, zumindest für mich.
3
Antworten
Diese Frage ist in Bezug auf diese eine der Ausnahme, dass anstatt sich mit typename template Parameter, ich bin versucht, eine enum-nicht-Typ template-parameter. Ist es möglich, ein-und Vorlagen (Klassen-member-Funktion) mit nur Spezialisierungen, keine Allgemeinen (Arbeits -) definition
3
Antworten
Ich versuche zu verstehen, die Nützlichkeit der static_assert, und ich möchte wissen, ob es mir helfen kann bei der Vollstreckung einer design, und wenn ja, wie. Ich habe eine Allgemeine Vorlage-Klasse, die blendet seine eigene Implementierung in
5
Antworten
Gebe ich gern hilfreiche Fehlermeldungen, und ich auch wollen dies für meine static_asserts. Das problem ist, dass Sie abhängig sind-template-Parameter. Normalerweise wird dieser Parameter angezeigt, die auf Art oder eine andere wegen der Fehler erhöht, aber Sie
3
Antworten
Benutze ich g++ 4.6.3, (derzeit Standard-Paket für ubuntu 12.04) mit dem flag "c++0x", und ich stolpere über das: template <typename T> inline T getValue(AnObject&) { static_assert(false , "this function has to be implemented for desired type"); }
8
Antworten
Unserer bestehenden compile-Zeit-assert-Implementierung basiert auf negative array index, und es bietet eine schlechte Diagnose-Ausgabe auf dem GCC. C++0x ist static_assert ist ein sehr nettes feature, und die Diagnose-Ausgabe, die es bietet, ist viel besser. Ich weiß, der
4
Antworten
Habe leider mehrere Makros übrig von der ursprünglichen version von "meine Bibliothek", beschäftigt ein paar ziemlich verrückte C. insbesondere habe ich eine Reihe von Makros, die erwarten, dass bestimmte Typen zu übergeben. Ist es möglich zu tun,
8
Antworten
Was ist der beste Weg, das zu erreichen compile-Zeit statisch behauptet in C (nicht C++), mit besonderem Schwerpunkt auf den GCC? InformationsquelleAutor der Frage Matt Joiner | 2010-08-02
3
Antworten
Dieses Problem diskutiert wurde, ein paar mal, aber alle Lösungen die ich gefunden habe entweder nicht funktioniert oder waren basiert auf Erhöhung der statischen geltend zu machen. Mein problem ist einfach. Ich habe eine Klasse, und ich
1
Antworten
Ich Frage mich, ob es möglich ist, zu überprüfen, ob die 2 Typen sind die gleichen, die zur Kompilierzeit. Was ich kam mit ist(idk wenn es funktioniert, weil es fühlt sich hackish-und IDK-standard, gut so IDK was
7
Antworten
Könnten Sie ein Beispiel geben, wo static_assert(...) 'C++0x' würde das problem lösen, in der hand aus? Ich bin vertraut mit der run-time assert(...). Wann sollte ich lieber static_assert(...) über regelmäßige assert(...)? Auch in boost es ist etwas
2
Antworten
Wie man richtig machen eine static_assert innerhalb einer constexpr Funktion? Zum Beispiel: constexpr int do_something(int x) { static_assert(x > 0, "x must be > 0"); return x + 5; } Dies ist kein gültiges C++11 code, weil
11
Antworten
Bin ich Aufräumen einige ältere code mit 'magischen zahlen' ganz über dem Platz für hardware registriert, und ich möchte die Konstanten verwenden, anstatt diese zahlen, um damit den code etwas mehr expressive (in der Tat werden Sie
5
Antworten
Möchte ich hinzufügen, dass code, der während der Kompilierung überprüft die Größe einer Struktur, um sicherzustellen, dass es ist eine VORGEGEBENE Größe. Ich zum Beispiel sicherstellen möchten, dass die Größe dieser Struktur ist 1024 byte, wenn ich