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++ - “没有匹配的函数可调用:”编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18612095/

10-10 08:18