没有用于初始化'type'的匹配构造函数
No matching constructor for initialization of 'type'
我试图修复矢量无法推回的问题,但我得到了这个错误:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/memory:1456:36:没有用于初始化"Point"的匹配构造函数
这是我的代码
类
class Point
{
public:
int x;
int y;
Uint8 r;
Uint8 g;
Uint8 b;
Point(int x, int y, Uint8 r, Uint8 g, Uint8 b) : x(x), y(y), r(r), g(g), b(b) {}
Point& operator=(Point const &np){
x=np.x;
y=np.y;
r=np.r;
g=np.g;
b=np.b;
return *this;
}
Point(const Point& point);
;
};
线路可能导致错误:
std::vector<Point> temp(10);
这也不起作用:
std::vector<Point> temp;
请帮助
这里有更多的错误信息,希望能有所帮助:
/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Source/WWeek3_T.cpp:8:10:在包含的文件中/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Source/WWeek3_T.cpp:8:
/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Headers/Week3_T.h:3:10:在包含的文件中/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Headers/Week3_T.h:3:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/vector:265:10:在包含的文件中/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/bin/../lib/c++/v1/vector:265:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/__bit_reference:15:10:在包含的文件中/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/bin/../lib/c++/v1/__bit_reference:15:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/algorithm:627:10:在包含的文件中/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/bin/../lib/c++/v1/algorithm:627:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/vector:925:25:在函数模板专业化的实例化中'std::__1::allocater_traits
::construct'请求此处
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchains/usr/lib/c++/v1/vector:1028:9:在此处请求的成员函数"std::__1::vector>:__construct_at_end"的实例化中
/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Source/WWeek3_T.cpp:466:19:在此处请求的成员函数"std::__1::vector>::vector"的实例化中
/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Headers/Week3_T.h:1:5:候选构造函数不可行:需要5个参数,但有0个提供
/用户/sum/Documents/3407ICT_Starter_Kit_v8/ProjectOSX/Headers/Week3_T.h:24:5:候选构造函数不可行:需要单个参数"point",但没有提供任何论据
在标准库中,当未显式给定值时,某些容器会使用默认构造函数"填充"值。vector<Point> temp(10)
使用10个元素初始化向量,这些元素填充有您类型的默认构造值。但是当你定义了这个构造函数:
Point(int x, int y, Uint8 r, Uint8 g, Uint8 b) : x(x), y(y), r(r), g(g), b(b)
编译器不会隐式定义默认构造函数,因此现在没有可用的构造函数。您可以通过定义另一个构造函数来修复编译器错误:
Point(){}
- "error: no matching function for call to"构造函数错误
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 选择要调用的构造函数
- 如何委托派生类使用其父构造函数?
- 构造函数正在调用一个使用当前类类型的函数
- 没有用于初始化C++中的变量模板的匹配构造函数
- 初始化具有非默认构造函数的std::数组项的更好方法
- 当从函数参数中的临时值调用复制构造函数时
- 在c++构造函数中使用随机字符串生成器
- 一对向量构造函数:初始值设定项列表与显式构造
- 从构造函数抛出异常时如何克服内存泄漏
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- Type t=Type()是否调用复制构造函数
- 没有用于初始化'value type'的匹配构造函数
- C++:"error C4430: missing type specifier - int assumed" 对于构造函数和无效声明
- 没有用于初始化'type'的匹配构造函数