【发布时间】:2016-01-22 21:41:02
【问题描述】:
我正在尝试创建一个大小为 100 的数组,其中填充了 0。当我去打印该区域时,打印的是:0x7fff5fbff54c。它似乎正在打印该区域的地址,我不确定为什么以及如何解决这个问题,以便它打印出它应该打印的内容。下面是我的代码。
列表.hpp
typedef int ElementType;
const int MAX = 100;
class List
{
public:
List();
bool Empty();
void InsertAtEnd(ElementType x);
void Delete(ElementType x);
void Display();
int Smallest();
int Largest();
int Range();
private:
int N;
ElementType listArray[MAX];
};
列表.cpp
#include "List.hpp"
#include <iostream>
using namespace std;
List::List() {
listArray[99] = {0};
}
void List::Display() {
cout << listArray;
}
main.cpp
#include "List.hpp"
#include <iostream>
using namespace std;
int main() {
List list;
list.Display();
return 0;
}
【问题讨论】:
-
看起来好像你来自 python 编程,
print(listArray)会打印整个数组但是在 c++ 中你不能这样做并且需要编写一个访问每个元素的循环 -
您正在打印一个指针值,这就是预期的结果。
-
我对其进行了更改,使其使用 for 循环,现在它打印 0 0 0 0 0 0 0 1606416136 32767 1606422582 @πάνταῥεῖ
-
@Krae 所以你现在正在打印未初始化的值?请提供minimal reproducible example。
-
@πάνταῥεῖ 你是什么意思?我已经提供了代码和输出