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?