8мес



Программирование
+2C++ тройной оператор
error C2059: синтаксическая ошибка: =
123456789101112131415161718192021222324252627282930
class PMove: public GStat
{
private:
float xa, ya, result, X, Y;
float XCoord[10];
float YCoord[10];
int PLoop;
int& IRef = PLoop;
public:
PMove()
:GStat(0), xa(0.0f), ya(0.0f), result(0), X(0.0f), Y(0.0f)
{
IRef = 0;
}
PMove(float PLVLRef)
:GStat(PLVLRef),xa(0.0f),ya(0.0f),result(0),X(0.0f),Y(0.0f)
{
IRef = 0;
}
xa = PLVL > 0 && PLVL < 100 ? PLVL == 0 ? 0 : PLVL + 6 : 0;
ya = PLVL > 0 && PLVL < 100 ? PLVL == 0 ? 0 : PLVL + 6 : 0;
PMove summ(PMove& other)
{
return PMove(X + other.PLVL, Y + other.PLVL);
}
void PMFunc()
{
}
};
я перенес тройной оператор в другой класс и у меня вылетела ошибка, жалуется на "=", есть идеи?
По дате
По рейтингу
В вашем коде выражения xa = ... и ya = ... находятся на уровне класса, что недопустимо. Эти выражения должны быть внутри метода или конструктора
Тернарный оператор имеет вид:
<condition>?<value when true>:<value when false>;
Один знак вопроса и одно двоеточие.
А теперь посмотри, сколько их у тебя.
Если тебе надо использовать вложенные тернарные операторы - используй скобки, например:
<condition>?(<condition>?<value when true>:<value when false>):(<condition>?<value when true>:<value when false>);