Visual Studio 2005 - ignoriert private:-Deklarationen
Verfasst: 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:
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?
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
}
...
};
Für Visual Studio 6 habe ich _length auf protected gesetzt, was mein Problem löst, aber welches Studio hat nun recht?