c++ - 关于设置空指针的困惑

标签 c++

我有一个类对象数组:

Course* courseList[100];

如果我想将 CourseList 设置为空指针,我应该这样做吗 courseList = nullptr; 但是我收到“表达式必须是可修改的值”的错误。

对于我的类 ScmApp 的构造函数

ScmApp::ScmApp() {
    noOfCourses = 0;
    courseList_[100] = {};
}

这是将courseList_的所有元素设置为nullptr的方式吗?

最佳答案

唯一可以设置为 nullptr 的东西就是一个指针。

CourseList 不是指针。那就是问题所在。这就是为什么不能将其设置为空指针的原因。

CourseList 是一个指针数组。相反,您可以将 CourseList 中的每个指针设置为空指针:

for (auto &p:CourseList)
    p=nullptr;

关于c++ - 关于设置空指针的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38907713/

相关文章:

c# - 检查显示是否被 Windows 电源管理关闭

c++ - 使用 'delete' 时出现语法错误

c++ - 如何从另一个对话框类访问小部件类

c++ - 使用参数推导时如何停止模板递归?

c++ - 使用 QSerialPort 发送数据时遇到问题

c++ - 16个嵌套循环速度C++/Rcpp

c++ - 在 C++ 中重载 operator+

c++ - 从 RGB BMP 创建灰度 BMP

c++ - C++ 帮助中的计算器。无法返回运行总计

c++ - 变量的地址需要加载到内存中吗?