no matching function for call to 'Rational::Rational()'
时间: 2023-05-17 16:05:30 浏览: 98
这个错误提示意味着在调用 Rational 类的构造函数时,没有找到无参构造函数。可能是因为 Rational 类只定义了带参数的构造函数,而没有定义无参构造函数。如果您想要创建一个 Rational 对象,您需要提供正确的参数来调用 Rational 类的构造函数。
相关问题
报错no matching function for call to std::bind
这个错误通常是因为您使用了错误的参数类型或数量来调用std::bind()函数。std::bind()函数的参数应该是一个可调用对象和一些参数,用于绑定该可调用对象的参数。如果您的参数不匹配,编译器将无法找到匹配的函数,并报告“no matching function for call to std::bind”错误。
要解决这个问题,您应该检查您的std::bind()函数调用,并确保它们使用正确的参数类型和数量。如果您仍然无法解决问题,请考虑使用其他函数或方法来实现您的需求。
no matching function for call to std::pair<char,int>::pair(int)
这个错误是因为你在创建`std::pair<char, int>`对象时传递了一个错误的参数类型。`std::pair`类的构造函数需要传递两个参数,一个是`char`类型,另一个是`int`类型。如果你只传递一个`int`类型参数,编译器会报错,因为找不到匹配的构造函数。
你需要确保在创建`std::pair<char, int>`对象时提供正确的参数类型。例如:
```cpp
std::pair<char, int> myPair('a', 10);
```
这样就创建了一个包含字符`'a'`和整数`10`的`std::pair`对象。
请注意,这只是一个示例,你可以根据实际需求提供正确的参数。