Visual Studio 2005 - ignoriert private:-Deklarationen

Developer-Tools, Entwicklungsumgebungen und alles andere, was sich installieren lässt
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von Xin » Di Mai 03, 2011 12:39 pm

Hi,

ich habe hier ein Visual Studio 2005 in Benutzung, dass mir geschickter Weise erlaubt auf private Membervariablen zuzugreifen, als wären sie public. Das wäre - neben der Tatsache, dass es unschön ist - eigentlich noch kein Problem, wenn Visual Studio 6 nicht - zurecht - auf die korrekte Handhabung beim Zugriff auf private-Variablen bestehen würde.

Irgendwas muss bei Visual Studio 2005 verstellt sein - hat jemand eine Idee, was das sein könnte und wie man das zurückstellt?
Jedenfalls kompiliert mein VS2005 andere Dinge als VS2005 oder VS6 auf dem Build-Server, weswegen mich der Build-Server nervt...


PS:

Alternativ:

Code: Alles auswählen

    class Node
    {
    private:
        friend class Container;
        class NodeType1;
        class NodeType2;
        double _length;
    ...
    };

    class Node::NodeType1
        : public Node
        , public SomethingElse
    {
    public:
        /* Construction *************************************************************************************/

        NodeType1( Point start, Point end )
            : SomethingElse( start, end )
        {
            _length = this->SomethingElse::length();          // Fehler?: _length ist private
        }
        ...
    };
Hat class Node::NodeType1 Zugriff auf die private Node::_length?
Für Visual Studio 6 habe ich _length auf protected gesetzt, was mein Problem löst, aber welches Studio hat nun recht?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von cloidnerux » Di Mai 03, 2011 12:54 pm

Das, dass private Zugriffe nicht gewährt.
Den selben Umstand hatte ich erst gestern mit VS2008 und da konnte ich es nur durch setzen als "protected" lösen.
Ich glaube das Beschreibt dein Problem hinlänglich:
http://ibash.de/zitat_3804.html
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von fat-lobyte » So Jul 03, 2011 2:32 pm

Visual Studio hat eine reihe von Netten Spracherweiterungen, darunter ist folgendes _ohne_ segmentation fault möglich:

Code: Alles auswählen

struct A {};

int main()
{
    A& myvar = A();
    return 0;
}
Abschalten lässt sich das ganze durch die Option "/Za": http://msdn.microsoft.com/en-us/library ... 80%29.aspx
oder in den Project Properties unter Language -> Disable Language Extensions -> Yes

Ich weiß nicht ob das dein Problem betrifft, aber ich wollts in dem Kontext nur mal erwähnt haben.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von Xin » So Jul 03, 2011 3:18 pm

Wir haben diese Woche auf Visual Studio 10 umgestellt. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von fat-lobyte » So Jul 03, 2011 3:47 pm

Xin hat geschrieben:Wir haben diese Woche auf Visual Studio 10 umgestellt. ^^
Der hat diese Option noch immer. Wenn man Standardkomformes C++ durchsetzen will, sollte man diese Option einschalten.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von cloidnerux » So Jul 03, 2011 3:48 pm

Wir haben diese Woche auf Visual Studio 10 umgestellt. ^^
Und ihr habt jetzt erstmal 2 Wochen Urlaub, bis der Admin all eure Computer wieder in Ordnung hat? ;)
Spaß beiseite, findest du das 2010 besser als 2005/2008?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Visual Studio 2005 - ignoriert private:-Deklarationen

Beitrag von Xin » Mo Jul 04, 2011 9:09 am

cloidnerux hat geschrieben:
Wir haben diese Woche auf Visual Studio 10 umgestellt. ^^
Und ihr habt jetzt erstmal 2 Wochen Urlaub, bis der Admin all eure Computer wieder in Ordnung hat? ;)
Nein, ich hatte 2 Wochen Urlaub und dann montags einen Zettel da liegen, dass auf meinem Computer Visual 10 schon installiert ist und ich es bloss nicht benutzen soll. Dienstag kam die Freigabe, dass alle umsteigen müssen und Mittwoch war's dann bei mir auch so weit.

Die Umstellung ist jetzt seit Monaten in der Mache. Weniger, weil die Firma so groß ist, als weil das Produkt so groß ist. Die Buildserver laufen seit Wochen, aber da hier gleichzeitig wohl auch Fortran-Compiler und Zeugs ausgetauscht wurde und die ganzen Sprachen miteinander agieren wurde das wohl ein schöner Aufwand.
cloidnerux hat geschrieben:Spaß beiseite, findest du das 2010 besser als 2005/2008?
2008 habe ich nur privat gesehen und wenn Du weißt, wie oft ich Windows boote, weißt Du, dass ich VS2008 noch viel seltener gesehen habe. ^^

2010 gefällt mir besser, auch wenn ich inzwischen Webbrowser und Entwicklungsumgebung regelmäßig verwechsle. Optisch hat man die Controls zugunsten eines stylischen Designs in den Hintergrund gepackt hat. Das finde ich weniger gut (kann man aber vermutlich irgendwo umstellen, aber noch nicht danach geguckt).

Da ich viel auf den 2. Monitor auslagere, finde ich gut, dass das nun auch mit Quell-Texten geht und allgemein besser geworden ist. Früher "verrutschte" das 2. Fenster häufig beim Neustart.
Und wenn man auf Eigenschaften in einem Projekt geht, muss man das nur einmal machen, bei 2005 klickte man auf Eigenschaften, dann ging ein Fenster auf, dass hinter dem 2. Fenster von VSverschwand und wenn man dann auf Visual Studio klickte, damit es wieder in den Vordergrund kam, zeigte es die Eigenschaften von irgendwas an. Die Projekte befinden sich bei mir im 2. Fenster, wenn ich also auf das Projekt klicke, verschwindet das Eigenschaftenfenster wieder im Hintergrund. Also nochmal rechtsklick->Eigenschaften auf's Projekt und "schon" durfte ich meine Präprozessoranweisung wieder einfügen.

Viele Detailverbesserungen. Aber ich habe es auch erst seit 2 1/2 Tagen im Einsatz.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten