Ich stehe in Visual Studio 2015 vor einer wirklich seltsamen Fehlermeldung. Der folgende abgespeckte Code:
%Vor%kompiliert ohne Probleme auf Clang. Visual Studio 2015 IntelliSense gibt jedoch die folgende Fehlermeldung:
%Vor%Fehle ich etwas in meinem Code oder ist das ein Fehler in Visual Studio?
AKTUALISIEREN
Aufgrund der Kommentare und Antworten hier habe ich einen Fehlerbericht zu Microsoft Connect geöffnet.
Dies ist ein Intellisense-Fehler. Sowohl clang als auch gcc akzeptieren diesen Code, auch webcompiler ein online Visual C ++ Compiler akzeptiert diesen Code .
Der Entwurf C ++ 14 Standardabschnitt 12.1
[class.ctor] besagt, dass ein Standardkonstruktor für eine Klasse standardmäßig gelöscht wird, wenn:
- X ist eine Union-ähnliche Klasse, die ein Variantenmitglied mit einem nicht-trivialen Standardkonstruktor
hat- Jedes nicht statische Datenelement ohne geschweiften oder gleichwertigen Initialisierer ist vom Referenztyp
- jedes nicht-variante nicht statische Datenelement vom Typ const-qualifiziert (oder Array davon) ohne "brace-orequal-initializer" hat kein a Vom Benutzer bereitgestellter Standardkonstruktor,
- X ist eine Union und alle Variantenmitglieder sind vom Typ const (oder Array davon),
- X ist eine nicht gewerkschaftliche Klasse und alle Mitglieder eines anonymen Gewerkschaftsmitglieds sind vom Typ const-qualifiziert (oder ein Array davon),
- Jedes potentiell konstruierte Unterobjekt mit Ausnahme eines nicht statischen Datenelements mit einem brace-or-equal-initializer hat den Klassentyp M (oder Array) davon) und entweder M hat keinen Standardkonstruktor oder Überladung Die Auflösung (13.3), die auf den Standardkonstruktor von M angewendet wird, führt zu einem Mehrdeutigkeit oder in einer Funktion, die gelöscht oder nicht zugänglich von der standardmäßig default constructor oder
- Jedes potentiell konstruierte Unterobjekt hat einen Typ mit einem Destruktor, der aus der Standardvorgabe gelöscht oder nicht zugänglich ist Konstruktor.
keiner von denen gilt hier.
Aktualisieren
Im Fehlerbericht, der vom OP eingereicht wurde , lautet die Antwort:
Danke, dass Sie dieses Problem gemeldet haben. Fix sollte in der nächsten Aktualisierung von Visual Studio 2015 verfügbar sein.
Tags und Links c++ c++11 visual-studio-2015