腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
使用
常量
重载
和
模板
进行
不明确
的
调用
、
在我
的
image类中,我
使用
以下const
重载
的
模板
化函数提供对特定行
的
直接内存访问 template <typename T>inline const T* Image::getRow(unsigned int y) const ... } 但是,如果我指定另一个
模板
化函数,该函数实际
使用
这些
浏览 33
提问于2021-04-09
得票数 0
回答已采纳
2
回答
为什么
常量
数组优先绑定到
常量
T& parameters而不是T&& parameters?
、
重载
带有"T&&“参数
的
函数
模板
通常不是一个好主意,因为它可以绑定到任何东西,但假设我们无论如何都要这样做:void func(const T& param),对于
常量
类型
的
参数,将
调用
const T&
重载
,而对于所有其他参数类型,将
调用
T&&
重载
。但是考虑一下当我们
使用
常量
和<
浏览 0
提问于2012-09-12
得票数 5
回答已采纳
1
回答
如何解决像这样
的
功能过载引起
的
歧义?
、
、
、
我有一段类似于此
的
代码:class Classpublic:int main() Class<int> c; c.foo(a); } 我希望两个函数都
重载
foo,因为foo(T&)更有效,但是我不能像它
的
参数那样
使用
文字
常量</e
浏览 1
提问于2016-03-02
得票数 1
回答已采纳
2
回答
重载
的
调用
不明确
、
、
当我查看GitHub上
的
一些代码时,我在编译源代码时遇到了一个问题。错误是:相关
的
函数是_ast* newast(_action, char*, _ast*, _ast*)
和
_ast* newast(_action, int, _ast*, _ast*) 我不知道为什么这里会有这样
的
模棱两可。并遵循.y文件中
的
相关代码。
浏览 1
提问于2014-12-22
得票数 0
1
回答
通过转换到
使用
模板
参数演绎
的
模板
函数
调用
传递参数是否有害?
、
、
AFAIK
重载
函数
的
类型是相对
的
通过转换或函数
调用
,需要一些转换应用于参数,以匹配最好
的
匹配是糟糕
的
设计。double,所以它可以同样地转换为float或int,因此对
调用
有更多
的
最佳匹配,因此
调用
是
不明确
的
。在第二个
调用
中,同样
的
事情是:0u是unsigned int类型
的
,可以同样转换为int或float,因此
调用
是
浏览 0
提问于2020-11-19
得票数 0
回答已采纳
3
回答
重载
解析
和
指向const
的
共享指针
、
、
、
我正在将一个大型代码转换为
使用
自定义共享指针,而不是原始指针。我有一个
重载
解决方案
的
问题。现在看一下
使用
shared_ptr
的
版本:#include<memory> } { f
浏览 12
提问于2016-12-08
得票数 8
1
回答
使用
模板
和
常量
指针
进行
函数
重载
、
、
我想要一个泛型函数,它需要一个
模板
和
一些通过函数
重载
的
专门化。但是,当
使用
关键字
常量
或
使用
指针时,会
调用
错误
的
函数。而我希望它
调用
重载
。 我已经玩了一阵子了。编辑:我发现将const放在指针后面确实
调用
了正确
的
函数,但这使得我
的
指针const和我(也)希望我
的
对象保持不变。EDIT2: blindcrone
的
答
浏览 0
提问于2021-03-15
得票数 0
1
回答
当多个
重载
超过SFINAE时,创建首选
重载
、
、
// works fine, calls a SFINAE(C{}); // compile error当
使用
具有a
和
b
的
类型
调用
SFINAE时,上述代码将失败,从而使这两个
模板
都有效,从而导致
不明确
的
调用
。如何在
不明确
的
情况下修复上面的代码以选择第一次
重载
浏览 0
提问于2019-07-11
得票数 3
回答已采纳
1
回答
泛型lambda与泛型函数给出了不同
的
行为
、
、
令我惊讶
的
是,foo编译正确,而bar在对sort函数
的
不明确
调用
方面有问题。我在这里做了什么违法
的
事情吗?或者这是编译器应该做
的
正确
的
行为?如果是的话,为什么会有这么大
的
不同。我认为泛型lambda可以被视为泛型函数
的
语法糖。
浏览 1
提问于2019-03-26
得票数 14
回答已采纳
1
回答
模板
重载
在
模板
类中
的
行为不同
、
、
、
、
在以下代码中产生():类
模板
指针大小为10
的
模板
数组 #include <utility> cFoo->classTemplate(test); regTemplate(test);为什么当我
重载
类中
的</
浏览 13
提问于2018-08-07
得票数 2
1
回答
函数
模板
重载
和
歧义
、
、
我期望对dummy(5)
的
调用
在“通用”
重载
和
“整型”
重载
之间是模棱两可
的
,因为在这两种情况下,T都被推导为int。第二个参数在两种情况下都解析为void。在对dummy(5)
的
调用
中,它们不是同样“排名”吗?编译器如何选择“通用”版本?
浏览 20
提问于2021-07-24
得票数 4
回答已采纳
2
回答
Initializer_list作为非
模板
上下文中数组引用参数
的
实参
、
、
、
我
的
问题涉及到这个非常简单
和
简短
的
代码,其中尝试在接受数组引用参数
的
两个非
模板
函数之间
进行
重载
解析。该问题已在其他地方发布,但处于
模板
推断上下文中。[2] ) { std::cout << "2\n"; } {} g++ 4.8.3编译这段代码时选择了第一个函数作为(我认为)唯一可行
的
函数,而clang3.4没有编译它,说对foo
的<
浏览 2
提问于2014-12-10
得票数 13
1
回答
函数
模板
重载
差异
、
当我尝试
重载
函数
和
函数
模板
时,我得到了不同
的
行为。但是对于函数
模板
:void bar() std::cout << "int T";void bar()} bar<42>()是
不明确
的
调用
。即使我
使用</e
浏览 17
提问于2016-05-25
得票数 16
1
回答
显式地指定额外
的
模板
参数--但是我没有需要指定
的
参数
、
、
以下代码不是在clang (用10.0版本
进行
测试)下编译
的
,而是在gcc (用10.1版本
进行
测试);C++版本14下编译
的
。哪个编译器是正确
的
?func(); // (2)int main {} 函数
模板
浏览 4
提问于2022-07-22
得票数 0
回答已采纳
2
回答
为什么不为
模板
化函数隐式
调用
运算符转换?(C++)
、
、
<typename U>{ f(ptr);} 当我
使用
4.3.3编译代码时,我得到一条消息(aaa.cc:17: error: no matching function for call to ‘tf(pointer<float>&)’),表明编译器为非
模板
化函数f()
调用
了'operator pointer<const T
浏览 0
提问于2010-04-20
得票数 7
回答已采纳
3
回答
模版二进位运算符?
、
、
、
、
这是一种明确
的
行为吗? 这是否意味着标准库永远不会定义只有一个
模板
的
泛型操作符,以避免冲突
的
使用
?
浏览 2
提问于2015-12-18
得票数 3
回答已采纳
2
回答
模板
函数-
模板
是否覆盖正常函数
、
、
我正在
使用
c++
模板
测试以下代码。我已经
使用
int
和
float
和
函数
模板
编写了一个正方形函数。template functiontemplate functiontemplate functiontemplate function有人能解释一下其中
的
区别吗
浏览 21
提问于2017-06-29
得票数 0
回答已采纳
2
回答
使用
带空函数
的
模板
、
我正在尝试
使用
c++
模板
泛型
和
一个空函数,#include <iostream> inline voidy; swap(x, y); cin.get();}
重载
交换()
的
调用</em
浏览 2
提问于2016-02-27
得票数 0
回答已采纳
1
回答
为什么
重载
解析不选择我
的
模板
函数
的
std::向量
重载
?
、
在下面的代码中,我希望它
使用
std::vector版本
的
f(),如果我用std::vector参数
调用
它,但是它
使用
的
是第一个参数,并且抱怨std::to_string(const std::vector我对
模板
重载
解析
的
理解是,它应该
使用
“更专门
的
”版本。不知何故,我认为这不适用于这里,因为这是一个函数
重载
,而不是一个
模板
过载。但是它甚至没有
使用
正常
的<
浏览 4
提问于2019-07-18
得票数 5
回答已采纳
2
回答
当添加
模板
参数时,
重载
解析会产生模糊
调用
。
、
、
在下面的代码中,编译器可以成功地解析对f()
的
调用
以
调用
f(int&, const char*)。 然而,对g()
的
调用
是
不明确
的
。它列出了所有四个
重载
作为可能
的
重载
集。如果我从数组参数
的
模板
参数列表中删除, typename T2, std::size_t I,并对它们
进行
硬编码,那么就没有歧义,编译器会选择g(T&, const char*)。
浏览 0
提问于2015-09-29
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
使用 SpringAOP 获取一次请求流经方法的调用次数和调用耗时
使用 .NET Core模板引擎创建自定义的模板和项目
如何进行需求评审的后续跟踪和更新?附模板
调用上多模型完成代码工作,VS Code 插件 Continue 的安装和使用
如何进行测试检查点评审的后续跟踪和更新?附模板
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券