Voglio rendere un argomento per una delle funzioni membro opzionale. Quando non viene fornito alcun argomento, utilizzerà una variabile membro.Come utilizzare una variabile membro come argomento predefinito in C++?
Tuttavia, quando ho provato a compilarlo mostra "errore: Utilizzo non valido di membro di dati non statici 'oggetto :: initPos'"
Solo per isolare il problema, ho provato inadempiente un tipo int e ha compilato bene. Mi chiedo quale sia il problema con il mio codice e come potrei usare una funzione membro come valore predefinito.
Grazie per il vostro aiuto!
Object.h
class Object
{
public:
...
void MoveTo(double speed, Point position);
protected:
Point initPos;
Point currPos;
};
Object.c
void Object::MoveTo(double speed, Point position = initPos)
{
currPos = postion;
}
Point.h
class Point
{
...
private:
double x;
double y;
double z;
};
La sua domanda mi ha fatto Spawn questo: http://stackoverflow.com/questions/9286801/valid-expressions-for-default-function-arguments –