Wie kann ich automatische Vervollständigung in Qt Creator Arbeit für std::vector
machen? Ist es normal, dass es nicht funktioniert?Qt Creator's Autocomplete (IntelliSense) funktioniert nicht für std :: vector elements
Zum Beispiel, auf ein frisches neues Projekt, erstelle ich eine struct foo { int bar; };
. Wenn ich eine QVector von foo, Intellisense/automatische Vervollständigung erstellen funktioniert:
Aber für eine std::vector<foo> v2
nichts passiert, nachdem ich den Punkt drücken in v2[0].
Ich bin auf Qt Creator 3.3. 0, mit der Visual Studio Compiler Tool-Kette (so kommt die STL von VS, nicht gcc, wenn das einen Unterschied macht).
Bearbeiten: Ich habe einen verwandten Fehler gemeldet (über Iteratoren obwohl) - https://bugreports.qt.io/browse/QTCREATORBUG-1892. Ich reproduciere dieses Problem auch.
Edit 2: ich mit einem benutzerdefinierten Template-Klasse getestet:
struct bar {
int b;
};
template<class T> struct foo {
T operator [](int a) { return T(); }
};
Und es funktioniert gut:
Nicht möglich. Leider hat Qt Creators Codemodell Probleme mit Vorlagen. Es wurde gerade daran gearbeitet, Clongs zu benutzen, aber ich weiß nicht, wie das endete. –
@cassiorenan Btw, reproduziert das auch für dich? – sashoalm
ja, tut es. Ich verwende Qt Creator 3.3.2 BTW, Ihr Test ist fehlerhaft. Versuchen Sie, einen Operator [] zu implementieren, der einfach a zurückgibt. –