c++ - "no matching function for call to : "编译错误

标签 c++

class Zbiornik
{
public:
    Zbiornik(int rozmiar)
    {
        int liczby[rozmiar];
    }
};

在代码中:

Zbiornik cyfry;
cyfry = liczby;

有人可以解释如何修复 main.cpp:67:10: error: no matching function for call to 'Zbiornik::Zbiornik()' 以及为什么会这样吗?

我不知道我错过了什么,非常感谢帮助,

最佳答案

由于您定义了一个用户定义的构造函数,因此编译器不会为您生成隐式默认构造函数。这个想法是,如果它是隐式生成的,它就不会做正确的事情,因为你有一个用户定义的 ctor。因此,你必须自己定义它:

Zbiornik(){...}

但是,你有多个问题 cyfry = liczby;int liczby[rozmiar]; 将无法编译,我不知道你想做什么那些线。

首先,rozmiar 不能用在常量表达式中。

关于c++ - "no matching function for call to : "编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612095/

相关文章:

c# - 将 C# 字符串传递给 C++ dll 在发布版本中失败

c++ - 如何在 C++ 中重载运算符 &

c++ - 找不到 Mexopencv mex 文件

c++ - 关于将变量传递给 STL 容器并且不丢失它们超出范围

c++ - [错误]在 C++ 中获取临时数组的地址?

php - 让 PHP 与同一服务器上的进程通信的推荐方法

c++ - 2个重载有相似的转换

c++ - 在 _wsystem 中转义引号

c++ - 使用外部模板时出现链接器错误

c++ - 动态分配数组中的一个值总是打印垃圾值