У меня есть класс, который содержит некоторые настройки уровня игры.Получение строки участника из класса C++
class Stage {
private:
int level;
int stars;
std::string imgName;
public:
int getLevel(){ return level; };
void setLevel(int n){ level = n; };
int getStars(){ return stars; };
void setStars(int n){ stars = n; };
std::string getImgName(){ return imgName; };
void setImgName(std::string name){ imgName = name; };
};
Тогда в моей программе я установил информацию.
Stage* stagesArr = new Stage[3];
stagesArr[0].setLevel(0);
stagesArr[0].setStars(1200);
stagesArr[0].setImgName("stage0.png");
Тогда, если я хочу получить эту информацию, строка дает мне нечетный вывод.
CCLOG("Level: %i", stagesArr[0].getLevel());
CCLOG("Required stars: %i", stagesArr[0].getStars());
CCLOG("Image Name: %s", stagesArr[0].getImgName());
//Level:0
//Required stars: 1200
//Image Name: T%s //Or just random stuff.
Что мне здесь не хватает?
ли вы попробовать 'CCLOG ("Название изображения:% S", stagesArr [0] .getImgName() c_str().);'? –
Что именно делает 'CCLOG()' do? –
@ πάνταῥεῖ Спасибо за ваше время. CCLOG не делает ничего, кроме как показывать мне, что происходит. Если я пытаюсь использовать метод c_str(), возникает ошибка: Этап * stageArr Ошибка: выражение должно иметь тип класса Тип - это массив, но я не знаю, что делать с этой ошибкой. Приветствия – Diego