Boost Multiarray und VC++ 2008 Intellisense



  • Hallo,

    ich hab ein kleines seltsames Problem und hoffe, das hier ist das richtige Forum

    Ich nutze seit ein paar Tagen in meinem Projekt das Multiarray aus der Boost Library und damit kommt Intellisense von VC++ irgendwie nicht klar.

    Ich bin mir nicht ganz sicher, ob das überhaupt Intellisense ist. Es geht um die VC++ Funktion, die mir anzeigt, welche Variablen eine Funktion benötigt, sobald ich "funktion(" schreibe

    kurzer Codeschnipsel:

    class klasse
    {
    public:
    	int a;
    	int b;
    };
    
    void bla()
    {
    	// ganz viel anderer Code
    
    	// X1
    
    	typedef boost::multi_array<klasse, 2> array_type;
    	array_type Matrix(boost::extents[10][10]);
    
    	// X2
    
    	Matrix[0][0].a = 1;
    
    	// X3
    
    	// noch viel mehr Code
    }
    

    An den Stellen X1 und X2 funktioniert Intellisense, wenn ich "funktion(" schreibe, an der Stelle X3 und darunter funktioniert es nicht mehr. Die Datei lässt sich einwandfrei kompilieren.

    Zwei kleine Screenshots aus dem tatsächlichen Code:

    http://member.low-family.net/timedog/intelli1.png
    http://member.low-family.net/timedog/intelli2.png

    Woran könnte das liegen? Es ist jetzt nicht so, dass ich Intellisense unbedingt brauche aber es ist doch schon sehr praktisch bei aufwändigeren Funktionen

    Gruß
    Godemit



  • Das Intelli-Sense ist leider a bissl Müll.
    Ich nutze zu meinem VC++ 2008 Prof. noch Visual Assist X. Jeden Pfennig wert. Nicht ganz billig leider mit 99$.
    http://www.wholetomato.com/purchase/default.asp

    rya.



  • Ja, VAssist kann ich auch sehr empfehlen. Alternativ soll das IntelliSense von VC2010 sehr stark verbessert worden sein, da es jetzt auf den Compiler-parsebaum zurückgreifen kann.

    Offtopic: Wenn du mit OpenCV und C++ arbeitest, dann kann ich dir nur empfehlen, dass C++-Interface von OpenCV zu verwenden, wurde mit V2.0 oder 2.1 eingeführt. Damit ist es wesentlich einfacher zu programmieren.



  • Bis 2008 war das IntelliSense nicht fähig, komplexen C++ Code zu analysieren, speziell bei komplexen Templates ging nichts mehr.
    Ab 2010 wurde alles neu implementiert und es wird auf die Informationen des Compilers zugegriffen. D.h. was der Compiler versteht, zeigt auch IntelliSense an.

    VAX ist bis 2008 eine gute Alternative. Da VAX aber weitere Funktionen hat, wie Objektbrowser, Refactoring (sehr nützlich!) usw. kann man VAX auch für 2010 empfehlen.


Anmelden zum Antworten