草庐IT

template-matching

全部标签

c++ - 使用 std::string 时为 "error: no match for ‘operator<<"

你能帮我找出下面代码中的问题吗(代码类似于C++streamasaparameterwhenoverloadingoperator):#include#includeclasslogger{public:voidinit(std::ostream&ostr){stream=&ostr;}templatelogger&operator一切正常,直到我取消注释包含“world”的行。在这种情况下,GCC产生错误:在...中与“operator有意思的是VS2008对这段代码没有问题谢谢! 最佳答案 std::string("world"

c++ - "more than one instance of overloaded function "标准::战俘 "matches the argument list"

使用C++,我尝试#defineTINYstd::pow(10,-10)我为定义了TINY的类(.h)提供了带有#include和命名空间信息的代码#pragmaonce#include"MMath.h"#include#include#includeusingnamespacestd;#defineTINYstd::pow(10,-10)我在.cpp文件中的一些函数实现中使用了TINY,而TINY给出了错误IntelliSense:morethanoneinstanceofoverloadedfunction"std::pow"matchestheargumentlist什么是正确的

c++ - 为什么 C+ +'s <vector> templated class doesn' t 打破了一个定义规则?

也许这是一个蹩脚的问题,但我不明白!如果我包括或在多个翻译单元(不同的.cpp)中,为什么它不破坏ODR?据我所知,每个.cpp的编译方式都不同,因此将为每个目标文件分别生成vector的方法代码,对吧?所以链接器应该检测到它并提示。即使它不会(我怀疑这是模板的特殊情况),当我将所有链接在一起时,它会在每个单元中使用一个代码还是不同的克隆代码集??? 最佳答案 同样,任何模板定义都不会破坏ODR—ODR特别指出,模板定义可以在翻译单元之间重复,只要它们确实是重复的(并且,因为它们是重复,不可能有冲突或歧义)。[C++14:3.2/6

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

这是我的错误...“在构造函数‘NumGame::NumGame(int&)’中:错误:没有匹配函数来调用“Category::Category()””我在这里看了几个类似的问题,但似乎找不到答案。我有一个基类Category,NumGame是从它继承的,但不会编译。classCategory{public:voidvirtualselection(int&);Category(int&);virtual~Category(){};private:intmyRandNum;};Category::Category(int&a){myRandNum=a;}voidCategory::se

c++ - 当模板template-parameter的模板参数为pack expansion时,gcc失败,clang成功

templatestructS{templatestructA{};templatestructB{};templateclass>structC{};};S::C::B>s1;S::C::A>s2;//gcc5.1.0fails,clang3.6.0succeedsintmain(){}你可以在这里测试http://melpon.org/wandbox/permlink/hhy70gO9LMjLq9nU哪个是正确的,gcc还是clang? 最佳答案 这个问题在gcc6.0中已经解决 关

c++ - "could not convert template argument"指针参数错误,即使使用强制转换

假设我有一个声明如下的模板类:templatestructy{int*b;y(){b=x;}}我确实需要模板参数是一个常量内存地址——它是一个嵌入式代码。如果我尝试像这样实例化它:(编译器是带有-std=gnu++11的gcc4.8.1)yc;我会收到错误消息“无法将模板参数‘1’转换为‘int*’”,这没关系,而且符合标准。我明白。我的问题是转换为指针也不起作用:yd;y(1)>e;error:couldnotconverttemplateargument'1u'to'int*'在这两种情况下。这是为什么?模板参数已经转换,不是吗? 最佳答案

c++ - `template` 关键字限定符能否使代码编译成功,但有所不同?

我正在阅读有关模板关键字限定符(https://www.ibm.com/support/knowledgecenter/SSPSQF_9.0.0/com.ibm.xlcpp111.aix.doc/language_ref/keyword_template_qualifier.html和WhereandwhydoIhavetoputthe"template"and"typename"keywords?)的信息,但仍有一些内容让我感到困惑。是否可能有这样的代码,它编译成功,但会导致两种不同的操作?SomeObjectInstance.templatesome_function();Some

java tor String.Match()用于整数

我正在尝试从我的OCR文本检测器中获取某些数字。到目前为止,我还无法成功提取某种格式的数字。该数字看起来与此5225612832654455相似,通常该格式可能像xxxxxxxxxxxxxxxx我需要一个字符串匹配的正则是获得这样的数字。注意:图源还有其他数字,我需要避免在这里捕获是方法ListtextComponents=text.getComponents();for(TextcurrentText:textComponents){floatleft=translateX(currentText.getBoundingBox().left);floatbottom=translateY(c

c++ - 我们可以使用异构查找比较器对 STL 关联容器执行 "partial-match"搜索吗?

所以我在STL的关联容器(自C++14起)中寻找对异构查找的支持,并对我们可以做什么和不应该做什么感到有点困惑。以下片段#include#include#includestructpartial_compare:std::less{//"full"key_typecomparisondonebystd::lessusingless::operator();//"sequence-partitioning"comparison:onlycheckpair'sfirstmemberbooloperator()(std::pairconst&lhs,intrhs)const{returnlh

WPF界面魔法:探秘Template奇妙世界,个性化定制你的UI

 概述:WPF中的Template机制为界面定制提供了强大工具,包括控件模板、ItemsPresenter、ItemsPanel、和ItemContainerStyle。通过这些功能,开发者能精确定义控件外观和布局,个性化每个项的样式,实现灵活而美观的用户界面。WPF中各种Template功能用途:Template(控件模板):用途: 控件模板用于定义整个控件的外观和布局。示例: 在ComboBox中,可以通过模板定义文本区域、下拉按钮区域以及Items的Popup区域。ItemsPresenter(项呈现器):用途: 在控件样式中标记一个区域,用于展示该控件的Items。示例: 在Combo