Ошибка присвоения левостороннему операнду
Почему пишет ошибку присвоения левостороннему операнду?
snake.h
#pragma once
#include "segment.h"
#include "fruit.h"
#include <vector>
#include <iostream>
using namespace std;
enum Direction {
D_LEFT, D_RIGHT, D_UP, D_DOWN
};
class Snake
{
private:
Direction currentDirection();
bool isUpdated;
int score;
public:
vector<Segment*> blocks;
Snake(float startX, float startZ, int blockCount);
~Snake();
void draw();
void move(Direction direction);
}
snake.cpp
#include "snake.h"
#include "segment.h"
#include "fruit.h"
#include <glut.h>
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;
enum Direction {
D_LEFT, D_RIGHT, D_UP, D_DOWN
};
Snake::Snake(float startX, float startZ, int blockCount) {
for (float i = 0; i < blockCount; i++) {
Segment* temp = new Segment(startX + i, 0, startZ);
if (i == 0)
temp->setColor(1, 1, 0); //snake head is set to green color
blocks.push_back(temp);
}
isUpdated = false;
currentDirection = D_LEFT;
score = 0;
}
В строке где currentDirection = D_LEFT. В чем ошибка? Почему если поместить все в один файл то ошибка пропадает?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Direction currentDirection();
Это - объявление функции. Вот и получается, что вы присваиваете значение типа Direction функции... Может, вы хотели объявить
Direction currentDirection;
?