草庐IT

template-argument

全部标签

c++ - 错误 C2893 : Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...) noexcept(<expr>)'

下面是一个给出编译时错误的程序。这主要与D类中的Boo函数有关。我最终尝试使用多个线程来调用solve方法,但目前这对我来说似乎不太有效,无法做到这一点。错误是:1>d:\dummy\project1\trash.cpp(37):warningC4101:'d':unreferencedlocalvariable1>c:\programfiles(x86)\microsoftvisualstudio\2017\community1\vc\tools\msvc\14.11.25503\include\thr\xthread(240):errorC2672:'std::invoke':no

c++ - decltype((void)T{}) in template Partial Specialization 不推导?

templatestructTest{staticconstintvalue=0;};templatestructTest{staticconstintvalue=2;};templatestructTest{staticconstintvalue=1;};intmain(){cout::valuegcc/clang上的代码都出现错误:模棱两可,但是将decltype更改为void_t是可以的。为什么? 最佳答案 对我来说,这看起来像是一个编译器错误:你真的需要T{}的副作用吗??decltype((void)T{})的整体构造应该

c++ - 什么是 "Argument-Dependent Lookup"(又名 ADL,或 "Koenig Lookup")?

关于什么是参数依赖查找有哪些好的解释?许多人也将其称为KoenigLookup。最好我想知道:为什么这是一件好事?为什么这是一件坏事?它是如何运作的? 最佳答案 Koenig查找,或ArgumentDependentLookup,描述了编译器如何在C++中查找非限定名称。C++11标准§3.4.2/1指出:Whenthepostfix-expressioninafunctioncall(5.2.2)isanunqualified-id,othernamespacesnotconsideredduringtheusualunquali

c++ - boost .Python : Take possession of argument

如果我有一个函数占用其中一个参数,当我使用Boost.Python公开该函数时,是否应该使用任何调用策略?voidfunc(MyClass*obj){//Codethattakespossessionof`obj`} 最佳答案 我认为你可以使用boost::weak_ptr。usingboost::shared_ptr;usingboost::weak_ptr;func(weak_ptrwp){shared_ptrsp=wp.lock();if(sp)//spstaysaliveuntilitgoesoutofscopeorisre

c++ - cmake opencv : Parse error in command line argument: -D 错误

我尝试安装opencv已经有一段时间了,但每次我在配置cmake时都会遇到一些问题。这是我正在尝试使用的cmake:cmake-DCMAKE_BUILD_TYPE=RELEASE-DBUILD_PYTHON_SUPPORT=ON-DWITH_XINE=ON-DWITH_OPENGL=ON-DINSTALL_C_EXAMPLES=ON-DINSTALL_PYTHON_EXAMPLES=ON-DWITH_TBB=ON-DBUILD_EXAMPLES=ON-DBUILD_NEW_PYTHON_SUPPORT=ON-DWITH_V4L=ON-DCMAKE_INSTALL_PREFIX=/hom

C++ 概念 : Can I define a concept that is itself a template?

抱歉,如果问题不太清楚。我不确定表达它的最佳方式(随意编辑!)。我认为一个例子是最清楚的:我试图根据Haskelldefinition定义一个Monad概念.绑定(bind)运算符(>>=)要求A类型的Monad可以绑定(bind)到接受A并返回B类型的Monad。我可以根据value_typetypedef定义A,但是如何在我的概念中定义类型B?templateconceptboolMonad(){returnrequires(Mm,Function>f){//(>>=)::ma->(a->mb)->mb{m>>=f}->M}}在上面的例子中,我用什么来代替Function概念中的_

c++ - VIDIOC_QUERYMENU : Invalid argument

我在Ubuntu12.04上使用我的内置笔记本电脑网络摄像头一开始它工作正常,但现在它给我不断的错误代码:usingnamespacecv;/**@functionmain*/intmain(intargc,char**argv){///ReadVideoVideoCapturecap(0);//openthedefaultcameraif(!cap.isOpened())//checkifwesucceededreturn-1;Matedges;namedWindow("edges",1);for(;;){Matframe;cap>>frame;//getanewframefromc

c++ - 在模板参数列表中使用 sizeof... 时为 "too few template arguments"(MSVC 2017)

以下最小示例不基于当前的MSVC2017(19.16)。它确实基于MSVC2015和2017(19.14)的旧版本、GCC、Clang和ICC。所以我怀疑这是一个编译器错误。有效吗?如果不是,为什么?#include#includetemplateautofoo(std::integer_sequence){returnstd::array{Is...};}std::arraybar(){returnfoo(std::make_integer_sequence());}有效的变体:投入unsigned(sizeof...(Is))在参数列表中作为默认参数替换unsigned(...)与

c++ - 如何定义和使用 boost::function with "optional arguments"?

我正在使用一个需要某种回调方法的类,所以我正在使用boost::function来存储函数指针。我需要回调有一个可选参数,但我发现boost::function不允许我定义可选参数类型,所以我尝试了以下代码并成功了..//thesecondargumentisoptionaltypedefboost::functionmyHandler;classA{public://handlerwith2argumentsintfoo(intx,char*a){printf("%s\n",a);return0;};//handlerwith1argumentintboo(intx){return1

Name for argument of type [java.lang.String] not ... Ensure that the compiler uses the ‘-parameters’

更多信息:https://oldmoon.top/post/191简介使用最新版的Springboot3.2.1搭建开发环境进行开发,调用接口时出现奇怪的错。报错主要信息如下:Nameforargumentoftype[java.lang.String]notspecified,andparameternameinformationnotavailableviareflection.Ensurethatthecompilerusesthe‘-parameters’flag.官方说明中一直强调@PathVariable的使用,并没有提及@RequestParam,阅读官方文档@RequestPa