C++ 在C+中打印字符数组时出现问题+;语言
我试图打印数组,但无法打印。有人知道为什么吗 在Main.cpp文件中当然有一个函数调用 我的代码: Game.cpp:C++ 在C+中打印字符数组时出现问题+;语言,c++,c++11,visual-c++,C++,C++11,Visual C++,我试图打印数组,但无法打印。有人知道为什么吗 在Main.cpp文件中当然有一个函数调用 我的代码: Game.cpp: #include "Game.h" Game::Game() { char example[] = "PASS"; } bool Game::PrintArray() { cout << example[0] << endl; return true; } #include <iostream> #includ
#include "Game.h"
Game::Game() {
char example[] = "PASS";
}
bool Game::PrintArray() {
cout << example[0] << endl;
return true;
}
#include <iostream>
#include <array>
#include <iostream>
#include <string>
using namespace std;
#ifndef GAME_H_
#define GAME_H_
class Game {
private:
char example[];
public:
Game();
bool PrintArray();
};
#endif /* GAME_H_ */
#包括“Game.h”
Game::Game(){
字符示例[]=“通过”;
}
bool游戏::PrintArray(){
cout您的代码有三个问题:
1) Game.h中的数组示例是一个零长度的静态数组(因此不能在其中添加字符)
解决方案:创建一个指向字符数组的常量指针
2) 在游戏的构造函数中创建一个新的变量示例,不要影响游戏中的变量。h->类中的变量只是不更新
解决方案:example=“PASS”
3) 在func Game::PrintArray中,只打印第一个字符
解决方案:cout您的代码有三个问题:
1) Game.h中的数组示例是一个零长度的静态数组(因此不能在其中添加字符)
解决方案:创建一个指向字符数组的常量指针
2) 在游戏的构造函数中创建一个新的变量示例,不要影响游戏中的变量。h->类中的变量只是不更新
解决方案:example=“PASS”
3) 在func Game::PrintArray中,只打印第一个字符
解决方案:P
您是否只需打印第一个字母P
。也没有内存分配来保存数组。如果您的编译器是旧的,并且允许使用C++9X或C++03之类的东西,则此代码可能会编译。在新的编译器中,您将收到一个错误,因为example=“PASS”
尝试将const char*
写入char*
,完全删除const
。您只需打印第一个字母P
。也没有内存分配来保存数组。如果您的编译器是旧的,并且允许使用C++9X或C++03之类的东西,则此代码可能会编译。在新的编译器中,您将得到一个错误,因为使用example=“PASS”
尝试将const char*
写入char*
,完全删除const
。
class Game {
private:
const char* example;
public:
Game();
bool PrintArray();
};
Game::Game() {
example = "PASS";
}
bool Game::PrintArray() {
cout << example << endl;
return true;
}
class Game {
private:
std::string example;
public:
Game();
bool PrintArray();
};
Game::Game() {
example = "PASS";
}
bool Game::PrintArray() {
cout << example << endl;
return true;
}