Кроме @neverwalkaloner 's answer , вы можете сделать это так же,
class PollSerializer(serializers.ModelSerializer):
choices_set = ChoiceSerializer(many=True, read_only=True, required=False)
class Meta:
model = Poll
fields = ('id', 'question_text', 'pub_date', 'choices_set')
std::vector<Case> Carte_2
объявляется как локальная переменная в вашем конструкторе, поэтому, когда конструктор заканчивается, эта переменная удаляется навсегда.
Так что Personnage::go_down()
не может получить к нему доступ. Я подозреваю, что вы хотели, чтобы Carte_2
был атрибутом Personnage
class
.
Кроме того, в следующий раз, пожалуйста, опубликуйте MCVE, прочитайте https://stackoverflow.com/help/mcve
Если Carte_2
подразумевается как глобальная переменная как Вы прокомментировали, затем выполните:
const std::vector<Case>& Carte_2()
{
static std::vector<Case> vect = { Case(1, 0, 0,false, false,"plop"),
Case(99, 0, 0,false, false,"prout") };
return vect;
}
Затем в Personnage::Personnage
просто выполните:
m_tile = &(Carte_2()[0]); // if m_tile is a Case*
в Personnage :: go_down (), выполните:
m_tile = &(Carte_2()[1]); // if m_tile is a Case*