c++ - 为什么这个 C++ 构造函数会自动指向复制构造函数?
问题描述
我正进入(状态
Severity Code Description Project File Line Suppression State
Error C2280 'World::World(const World &)': attempting to reference a
deleted function
在调用行作为错误(因为我的类中没有复制构造函数)
World wd = World(&vp, am);
这是一个构造函数。
我很困惑为什么会自动将复制构造函数定向到。
有人有什么主意吗?
这是我的班级标题:
class World{
public:
KDtree tree;
ViewPlane *vp;
DrawPanel * paintArea = &(DrawPanel(wxString("test"), wxDefaultPosition, 400,400));
wxApp app;
Vector3d backGround;
vector <Geometry*> objects;
Shader shader;
vector<Light*>lights;
World(ViewPlane*, Vector3d& Am);
....
}
还有我的构造函数:
World::World(ViewPlane * v, Vector3d &Ambient){
vp = v;
shader = (Shader(Ambient));
}
解决方案
使用
Bar b = Bar(...)
语法确实会复制初始化:https ://en.cppreference.com/w/cpp/language/copy_initialization
你可能只想
World wd(&vp, am);
反而。
推荐阅读
- node.js - 从服务器获取当前用户信息时获取 304 状态码
- android - Delphi 10.3 , Anroid (8.1.0) , Zebra TC20 , SSID
- php - ajax将参数传递给php文件不起作用
- python - 使用 Python-xmlrpc 从外部图像链接设置 Wordpress 帖子缩略图
- python - 如何获得像布尔字段选项这样的对象?DJANGO
- node.js - https调用上的Angular 5奇怪行为
- php - 我无法在 php 中将 for 循环更改为 while 循环?
- python-3.x - 在 Python 中使用关键字提取 Twitter 数据
- python - python中旋转13密码错误
- python - 如果字符串以熊猫中的某些字符开头,则选择行