首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

没有匹配的函数用于调用‘std::_Placeholder<1>& (<未解析的重载函数type>,const int,int*)

这个问题涉及到C++编程语言中的函数调用和占位符的使用。具体来说,这个问题是在使用占位符std::_Placeholder<1>时出现了函数调用匹配错误。

在C++中,占位符是一种特殊的标记,用于表示函数调用中的参数位置。在这个问题中,std::_Placeholder<1>表示第一个参数的位置。然而,由于没有匹配的函数可供调用,导致编译器无法解析函数的重载类型。

为了解决这个问题,可以考虑以下几点:

  1. 检查函数调用的参数类型和数量是否与函数定义匹配。确保函数调用中的参数类型和数量与函数定义一致。
  2. 确保函数的重载类型正确定义,并且在函数调用时提供了正确的参数。
  3. 检查是否需要包含相关的头文件或命名空间,以确保函数的定义和声明可见。
  4. 如果使用了占位符std::_Placeholder<1>,请确保在函数调用中提供了正确的参数位置。

总之,这个问题的解决方法取决于具体的代码和上下文。需要仔细检查函数调用和函数定义,确保它们匹配,并且正确使用占位符和参数位置。如果问题仍然存在,可能需要进一步调试和排查代码中的其他问题。

请注意,根据问题要求,我不能提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等云计算品牌商。如果需要更具体的帮助,请提供更多的上下文和代码细节,以便我能够给出更准确的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

std::bind in std::bind 编译失败

由于函数模板不能偏特化,所以引入了模板类,也就是上面的class _Mu。该类模板用于转换绑定参数,在需要时候进行替换或者调用。...为了分析该问题,私下跟提问同学进行了友好交流,才发现他某个函数重载,而该重载函数参数为参数个数和类型不同std::function(),下面是简化后代码: #include <functional..., std::placeholders::_2)); return 0; } 编译器报错如下: test.cc:41:75: 错误:调用重载‘fun(const char [5], std::_Bind_helper...&), const std::_Placeholder&, const std...,而fun()有两个重载函数,其第二个参数其中一个为2个参数std::function(),另外一个为3个参数std::function(),再结合上面的内容,main()函数fun()调用显然都匹配两个重载

75020

Chapter 5: Rvalue References, Move Semantics, PF

Avoid overloading on universal references 不要既重载通用引用参数函数,又重载特定类型参数函数,这样会造成匹配问题 按照正常重载解析规则,完全匹配会胜过类型提升匹配...上述auto cloneOfP(p)语句似乎应该是调用拷贝构造函数,但是实际上会调用完美转发构造函数,然后会用Person对象去实例化Personstring成员,然而并没有这种匹配规则,马上报错!...如果对传入对象p加上const修饰,那么虽然模板函数虽然会被实例化成为一个接收const类型Person对象函数,但是具有在const类型参数所有重载函数中,C++中重载解析规则是:当模板实例函数和非模板函数同样都能匹配一个函数调用...在调用解析重载函数具体是通过匹配调用所有参数与所有重载函数参数进行匹配实现。...这种做法核心是存在一个重载函数作为客户端API,然后将任务分发到其他实现函数中。

5.1K40
  • 《Effective Modren C++》 进阶学习(上)

    另外,在构造函数有参数情况中,若不包含std::initializer_list参数或者 构造传入实参,()和{}产生一样效果,否则{}优先匹配std::initializer_list参数构造函数...w1; // 调用默认构造函数 Widget w2{}; // 同上 Widget w3(); // 最令人头疼解析!...在构造重载匹配中,只要参数能够强转std::initializer_listT,就会匹配std::initializer_list构造函数,即便有更加匹配构造函数。...而nullptr为明确空指针类型。 避免重载解析歧义。传统 0 和 NULL 在函数重载中会引起歧义。...而 nullptr 类型是 std::nullptr_t,与整数类型有差异,可以显式地指定指针空值,避免重载解析歧义。 nullptr看起来更舒服^_^。 9.

    19220

    C++进阶之路:何为命名空间、缺省参数与函数重载

    如果在调用函数没有为这些参数提供值,那么就会使用默认值。...示例 下面是一个函数重载简单示例: #include // 函数重载示例 void print(int x) { std::cout << "Printing...默认参数:默认参数不会影响重载解析。如果函数通过默认参数在调用时省略了某些参数,这些省略参数在重载解析时仍然被视为存在。 引用和指针:引用和指针类型在重载解析中是不同。...const和非const参数:对于指针或引用参数,指向const和非const指针或引用是不同,可以用于重载。...重载解析:如果编译器在查找匹配重载函数时无法确定唯一最佳匹配,或者没有任何匹配项,它将生成一个编译错误。 希望对你有帮助!加油!

    10010

    C++:19---重载与模板、模板特例化

    一、重载与模板 函数模板可以被另一个模板或一个普通非模板函数重载 如果涉及函数模板,则函数匹配规则会有以下约束: 如果同样好函数中只有一个是非模板函数,则选择此函数 如果同样好函数没有非模板函数...当然,可以用于函数模板调用类型是非常有限 ④如果恰有一个函数比任何其他函数都更好匹配,则选择此函数。...debu_rep实例化而来 但是根据重载函数模板特殊规则,此调用解析解析为debug_rep(T*),因此调用是第二个版本debu_rep 原因在于:debug_rep(const T&)本质上可以用于任何类型...(包括指针类型),debug_rep(T*)只适用于指针类型,因此第二版本更适合 当有多个重载模板对一个调用提供同样好匹配时,应选择最特例化版本。...>int compare(const char* const &p1,const char* const &p2){return strcmp(p1, p2);} 当我们特例化一个模板时,函数参数类型必须与一个先前声明模板中对应类型匹配

    1.4K20

    五、从C语言到C++(五)

    当编译器遇到对某个函数调用时,它会根据提供参数来确定应该调用哪个重载版本。这个过程称为名称查找(Name Lookup)和重载解析(Overload Resolution)。...重载解析(Overload Resolution): 一旦编译器找到了所有与调用名称匹配函数声明,它就会开始重载解析过程。 重载解析主要任务是确定应该调用哪个重载版本函数。...如果某个重载版本参数列表与提供参数完全匹配(即不需要任何类型转换),那么这个版本就是最佳匹配,编译器将调用这个版本函数。 如果没有找到完全匹配版本,编译器会尝试找到最接近匹配。...这被称为“重载解析失败”。 调用函数: 一旦确定了要调用函数版本,编译器就会生成代码来调用函数。这通常涉及到将参数传递给函数,并执行函数代码。...递归函数不能被声明为内联函数,因为递归函数需要函数调用支持,而内联函数在编译时展开,不保留函数调用栈信息。 函数体大小: 内联函数通常适用于小型函数,如1-5行代码函数

    7510

    函数模板与同名非模板函数不可以重载(重载定义)

    参数用于指定函数模板中,传入参数类型跟返回值类型,列表中参数顺序对应于模板中声明类型顺序。这里参数列表为空,但却告诉了编译器,这个函数只在函数模板中选择最佳匹配函数调用。...首先,如果是通过函数指针或者成员函数指针来进行调用,就不会进行重载解析,因为究竟调用是哪个函数是在运行期由指针(实际上所指向对象)来决定。其次,类似函数宏不能被重载,因此也不会进行重载解析。...任何与调用匹配(即使考虑了隐式转换和缺省实参之后仍然不匹配候选函数都从重载集中删除,最后得到集合就是:可行候选函数集。 执行重载解析来寻找一个最佳候选函数。...【三】关于上面的说到重载解析,是根据什么原则来选定最佳候选函数? 完美匹配。...如数组转变为指向数组第一个元素指针,或者添加const,从而让类型为int**实参匹配类型为int const* const*参数等。 发生提升匹配

    87020

    C++ 学习笔记

    a : b; } 1.5 函数模板重载 1.一个非模板函数可以和同名函数模板共存,并且函数模板可实例化为和非模板函数具有相同类型参数函数函数调用时,若匹配度相同,将优先调用非模板函数。...    // Stack重载<<运算符,实例化print函数时失败     Stack> ss;     ss.push(s);     ss.print(std:...::endl; // 函数模板均不匹配,最后调用变参函数     std::allocator x;     /* std::allocator 定义了size_type,所以匹配T::size_type...普通函数和模板函数也可以同时重载,此时在匹配程度相同时,优先调用普通函数。... "Nontemplate"; } int main() { int x = 7; std::cout << f(x) << std::endl; // 调用非模板函数 } 16.3 显式特化 重载只适用于函数模板

    6.7K63

    Chapter 3: Moving to Modern C++

    ok int sum3 = x+y+z; // ok 调用对象无参构造函数时,使用括号初始化会被编译器错误识别为声明了一个函数,而花括号初始化则能正确匹配到无参构造函数调用 Widget w1(...); // error Widget w2{}; // ok 花括号初始化与std::initializer_lists和构造函数重载解析同时出现时容易造成错误调用调用构造函数时候,只要不涉及到...2 当类同时支持默认构造函数std::initializer_list构造函数时,此时调用花括号初始化,编译器会解析调用默认构造函数,而要解析std::initializer_list...Prefer nullptr to 0 and NULL C++会在需要指针地方把0解释成指针,但是需要策略还是把0解释成int型 C++98中上面这种做法会使得在指针和int重载共存时产生意外匹配调用...,而不是在没有正确覆盖时隐式地转换成了重载或者其他合法函数,而使得调用时发生意外调用,例如 class Base{ public: virtual void mf1() const;

    1.8K60

    剖析【C++】——类与对象(中)——小白篇—超详解

    1.类6个默认成员函数: 在C++中,即使一个类没有定义任何成员或成员函数,编译器仍会为其生成以下6个默认成员函数。下面是对这些默认成员函数简易分析和代码示例。 1....一个类只能有一个析构函数。若显式定义,系统会自动生成默认析构函数。析构函数不能重载。 对象生命周期结束时,C++编译系统自动调用析构函数。...详细解析每个部分 2.1 构造函数 构造函数用于初始化对象成员变量。带参数构造函数可以接受初始化参数,而默认构造函数则不接受参数。...例如: Date date2 = date1; // 调用拷贝构造函数 2.3 赋值运算符重载 赋值运算符重载用于定义对象之间赋值操作。它返回一个对当前对象引用,以支持连续赋值。...例如: date3 = date1; // 调用赋值运算符重载 2.4 析构函数 析构函数用于在对象生命周期结束时清理资源。

    12010

    60秒问答:多态和函数重载关系?

    1.编译时多态:函数重载和运算符重载,在编译时就决定调用哪个函数,先期联编 early binding ?...选出最优函数,查看函数是否可以访问/调用 IF 子类函数与父类名称相同,但是参数不同 父类函数被隐藏 ELSE IF 子类函数与父类函数名称相同&&参数也相同&&但是父类函数没有virtual...如果没有using声明,派生类中成员函数将隐藏整个继承重载集。...getchar(); return 1; } //输出: int 1 int 3 1.3 函数参数传递 与类型转换 C++ 函数类型自动转化 与二义性【成功就匹配,不然就是错误】 函数传递过程中...; //调用get(d);double既可以隐式转换long,也可以是int, //或者说一般数值类型之间都可以进行隐式类型转换, //故无法确定那一个更加匹配

    1.4K10

    《C++Primer》第十六章 模板与泛型编程

    我们类将包含一个重载函数调用运算符,它接受一个指针并对此指针执行delete,由于我们希望删除器适用于任何类型,因此我们将调用运算符定义为一个模板。 // 函数对象类....t2) { f(std::forward(t2), std::forward(t1)); } 重载与模板 函数模板可以被另一个模板或一个普通非模板函数重载。...多个可行模板 当多个重载模板对一个调用提供同样好匹配时,应选择最特例化版本。 3. 非模板和模板重载 对于一个调用,如果一个非函数模板与一个函数模板提供同样好匹配,则选择非模板版本。 4....非模板版本是可行,但是需要进行一次用户定义类型转换,因此没有精确匹配那么好,所以两个模板称为可能被调用函数。由于第二个模板T*更加特例化,因此编译器会选择它。 5....缺少声明可能导致程序行为异常 通常如果使用了一个忘记声明函数,代码将编译失败。但是对于重载函数模板函数而言,如果编译器可以从模板实例化出与调用匹配版本,则缺少声明就不会报错。

    1.9K10

    运算符重载基本规则和习惯用法是什

    运算符重载通用语法 在重载时,你不能更改 C++ 中内置类型运算符含义,只能对自定义类型[1]运算符进行重载。也就是,运算符两边操作数至少有一个是自定义类型。...始终重载运算符众所周知语义。 C++ 对运算符重载语义并没有限制,意思是你可以对+号重载成-号语义,但这种做法会给别人带来歧义,不建议这么做。 始终提供一组相关操作。...., Nov, Dec} 你想为它重载递加和递减运算符,但是你是无法实现它们为成员函数,因为在 C++ 中,枚举类型压根就没有成员函数这一说。...如果有getXXX()这一类函数,那么设其为非成员函数就没什么问题;如果没有,设置为友元最佳,这样就可以直接访问私有成员。 || && 用法和上面的一样,但是应用场景很难遇到需要重载这两个。...[](index_type idx); value_type operator[](index_type idx) const; // if value_type == int/double/char

    74010

    C++那些事之SFINAE

    根据名称找出所有适用函数函数模板对于适用函数模板,要根据实际情况对模板形参进行替换; 替换过程中如果发生错误,这个模板会被丢弃 在上面两步生成可行函数集合中,编译器会寻找一个最佳匹配,产生对该函数调用...如果没有找到最佳匹配,或者找到多个匹配程度相当函数,则编译器需要报错。...如果一组函数可以接受obj作为参数,那么编译器必须选择最合适函数,或者换句话说,解决最好重载!下面是一个很好cppreference页面,它解释了整个过程:重载解析。...0分支,说明obj没有serialize函数,但是却调用了,当然出错了。...auto (1)返回类型推断结果 c++ 14中一些很酷特性来自于auto关键字轻松使用(用于类型推断关键字)。现在,auto可以用于函数或方法返回类型。

    2.2K20

    真没想到nullptr和NULL得区别,大了去了

    & operator=(const Widget &w); }; Widget w1;//调用是默认构造函数 Widget w2 = w1;//并非赋值,调用是复制构造函数 //w1 = w2;...//C++规定:任何能够解析为声明都要解析为声明,这就跟默认构造造成了冲突,变成了声明一个函数 WidgetA w11(10);//构造函数 WidgetA w22();//调用一个没有形参构造函数...// 在构造函数重载决议期间,只要有任何可能,大括号初始化物就会与带有std: : initializer_ list 型别的形参相匹配,即使其他重载版本有着貌似更 加匹配形参表 。...条款8:优先选用nullptr,而非0或NULL // 0 型别是 int, 0 和 NULL 都不具备指针型别 //情况1重载函数 //情况1重载函数 void f(int);//f 三个重载版本...//区别一:处理函数指针理解性 //区别一:处理函数指针理解性 //FP型别是一个指涉到函数指针,该函数形参包括一个 int 和一个 const std::string&, 没有返回值 typedef

    1.8K30

    现代C++之SFINAE

    根据名称找出所有适用函数函数模板对于适用函数模板,要根据实际情况对模板形参进行替换; 替换过程中如果发生错误,这个模板会被丢弃 在上面两步生成可行函数集合中,编译器会寻找一个最佳匹配,产生对该函数调用...如果没有找到最佳匹配,或者找到多个匹配程度相当函数,则编译器需要报错。...如果一组函数可以接受obj作为参数,那么编译器必须选择最合适函数,或者换句话说,解决最好重载!下面是一个很好cppreference页面,它解释了整个过程:重载解析。...0分支,说明obj没有serialize函数,但是却调用了,当然出错了。...auto (1)返回类型推断结果 c++ 14中一些很酷特性来自于auto关键字轻松使用(用于类型推断关键字)。现在,auto可以用于函数或方法返回类型。

    2.9K20

    《C++Primer》第十九章

    第十九章 特殊工具与技术 控制内存分配 1. 重载new和delete 重载这两个运算符与重载其他运算符过程大不相同。...和其他operator函数不同,这两个函数没有重载new表达式或者delete表达式。实际上我们根本无法自定义new表达式或者delete表达式行为。...const { // 执行比较Base对象操作 } 4. type_info类 type_info操作包括: t1 == t2:如果type_info对象t1和t2表示同一种类型,...是否位于t2之前,顺序关系依赖于编译器 type_info类没有默认构造函数,而且它拷贝和移动构造函数以及赋值运算符都被定义为删除。...C语言不支持函数重载,因为也就不难理解一个C链接指示只能用于说明一组重载函数某一个了: // 错误: 两个extern "C"函数名字相同 extern "C" void print(const

    1.3K10

    C++关键知识点梳理

    基本类型基本类型大小随编译器决定,下面以32位为例类型大小 (字节)bool未定义char1short2int4long4long long8float4double8变量变量初始化,在C++中,使用初始化变量是一种错误编程行为...,需在使用cc文件中声明external const int budSize;const &:C++中const引用经常用于函数参数或者函数返回值,用于不被修改对象使用安全性,例如,void...:指针本身是常量,不能指向其他对象,例如 int *const p1=&i,const int ci =42;底层指针:指针所指向对象是常量,const int *p2=&ci;常量在类中使用:对于不修改类成员变量成员函数...、函数参数(可有可无)代码块,函数可以通过参数类型或数量不同实现函数重载,编译器从一组重载函数中选取最佳函数匹配。...内联函数(inline)适用于逻辑简单小代码块,编译器引用内联函数地方展开,节约了函数调用开销。

    96930

    SWIG 官方文档第三部分 - 机翻中文人肉修正

    typemap 匹配规则 如果基本模式匹配规则导致没有匹配,即使在 typedef 减少之后,默认 typemap 匹配规则依然用于寻找合适 typemap 匹配。...// 只有 std::string * 有一个局部变量// const std::string * 没有 (oops) .......它们看起来像宏/函数调用,但在宏名称前使用了特殊变量 $ 前缀。请注意,与普通宏不同,扩展不是由预处理器完成,而是在 SWIG 解析/编译阶段完成。以下特殊变量宏可用于所有语言模块。...匹配类型映射中特殊变量被扩展为匹配类型映射类型变量,而不是调用类型映射。实际上,这个宏在脚本目标语言中几乎没有用处。...") #define %newobject %feature("new", "1") 歧义解析和重命名部分中概述名称匹配规则适用于所有 %feature 指令。

    3.6K30

    第七章 函数

    函数函数名称——标识符,用于后续调用 形式参数——代表函数输入参数 返回类型——函数执行完成后所返回结果类型 函数体 为一个语句块(block),包含了具体计算逻辑 函数声明与定义 函数声明只包含函数头...) 表明返回值很重要需要保留 函数重载重载解析 函数重载:使用相同函数名定义多个函数,每个函数具有不同参数列表(参数个数或者参数类型不同) 不能基于不同返回类型进行重载...函数重载与name mangling 编译器如何选择正确版本完成函数调用?...因为obj在是Str对象,所以会去MyNS域中查找 重载解析:在名称查找基础上进一步选择合适调用函数 过滤不能被调用版本(non-viable candidates)...参数个数不对 无法将实参转换为形参 实参不满足形参限制条件 在剩余版本中查找与调用表达式最匹配版本,匹配级别越低越好(有特殊规则) 级别1:完美匹配 或 平凡转换(比如加一个const) 级别2:

    18530
    领券