与其他问题的区别
首先,我是初学者,至少有两题看不懂。其次,我看到的其中一个问题以一种全新的方式应用了这个概念。他们有其他变量和函数使我对他们的代码的看法变得模糊。
目标
我正在使用 SoloLearn 作为 C++ 解释器,我似乎无法在包含数字的多维数组中获取字符串。所以我很感激你们告诉我我需要修复什么,以便在我运行我的代码时没有错误消息。
代码
#include <iostream>
using namespace std;
int main()
{
int numberArray [2] [3] = {{1, 2, 3}, {4, 5, "null"}};
return 0;
}
错误信息
..\Playground:在函数“int main()”中:
..\Playground:6:57: 错误:从“const char*”到“int”的无效转换 [-fpermissive] int numberArray [2] [3] = {{1, 2, 3}, {4 , 5, "空"}};
尝试
我试图将 int
更改为 string
,但这是我屏幕上显示的内容:编译错误
。我不想让任何东西出现在我的屏幕上。我还尝试将 int
更改为 bool
,但显示的只是:No output.
。
最佳答案
首先,“string”不起作用的原因是您没有将 string 作为包包含在内。放
#include <string>;
在其他包含指令之下
其次,我不认为你可以在 C++ 中混合类型
我同意您开始采用的方法 - 使多维数组成为“字符串”
全部加载为字符串(即加载 4 作为“4”)
读取这个数组时,使用 C++ 函数 atof 检查有问题的条目
您需要包含 #include <stdlib.h>
如果 ascii 是 float ,atof 将返回一个 float
否则会抛出异常
你可以这样区分数字和文字
关于c++ - 如何将字符串和数字放在多维数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48122208/