c++ - c++ std::vector "this" 是 "nullptr"
问题描述
由于某种原因,我不能在 datacenter.cpp 中使用向量 _vec。它说“ this ”是“nullptr”
请帮忙,谢谢<3
数据中心.h
#pragma once
#include <iostream>
#include <vector>
class datacenter
{
public:
datacenter();
~datacenter();
void get_elements();
std::vector<float> _vec;
};
数据中心.cpp
#include "datacenter.h"
datacenter::datacenter(){}
void datacenter::get_elements()
{
if (_vec.empty()) { //<---- the error appears here
std::cout << "empty" << std::endl;
}
}
datacenter::~datacenter(){}
主文件
#include <iostream>
#include <vector>
#include "datacenter.h"
class datacenter;
int main()
{
std::unique_ptr<datacenter> dc;
dc->get_elements();
}
解决方案
麻烦来自:
std::unique_ptr<datacenter> dc;
这不会创建 的实例datacenter
,而只会创建指向它的(空)(智能)指针。您需要创建一个实例:
auto dc = std::make_unique<datacenter>();
也可以看看
推荐阅读
- c# - Trim the URL and fetch the name after the last Slash in c#
- c++ - 返回 std::thread
- javascript - 检查数组是否包含字符串但忽略该字符串中的其他字母
- java - running firebase query onClick and updating RecyclerView with results
- machine-learning - Exporting a neural network created in Python to CoreML, is that possible?
- c# - DataGrid.RowDetailsTemplate:单击行集中的元素集中在行而不是元素本身
- typo3 - TYPO3 路由:多路径段
- excel - 内存不足,无法继续执行程序。从 CSV 创建 Xlxs
- amazon-web-services - 访问受限的 AWS S3 公共 json 文件托管
- api - csrfToken() 不适用于 html 页面?