jjzjj

argument

全部标签

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 回调的 C++ 静态成员函数需要访问非静态引用

在我的C++代码中,我依赖于C库。这个C库让我可以定义一个带有3个参数的回调。示例:文件.c:#ifdef__cplusplusextern"C"{#endiftypedefvoid(*callback)(argument*1,argument*2,argument*3);...voidset_callback(ARG1,callbackname_of_callback);...在我正在开发的C++库中,我希望这个回调成为一个类的成员函数,因为我不能直接将成员函数作为回调传递给C库,我创建了一个静态函数作为回调并在内部这个静态函数我想引用一个类对象并调用它的成员函数来完成工作。现在我的

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++:将参数应用于函数范围

是否有一些更标准的方法将参数应用于函数范围?我提出了如下所列的解决方案,但感觉不对-应该已经有一些东西可以构建这样的逻辑。templatestructapply_argument_t{Argumentx;Resultoperator()(Functionf){returnf(x);}};因此一个简单的用例:transform(in.begin(),in.end(),out.begin(),apply_argument(x));我故意跳过了实现细节。编辑:但无论如何,正如他们所要求的那样:in是一系列一元函数(例如vector)out是这些一元函数结果的范围(例如vector)apply

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++:通过模板传递参数与通过函数参数传递参数

通过模板发送参数有什么用吗?如果是这样,这与通过内部堆栈发送参数有何不同?示例:voidmyMethod(intargument){//Dosomethingwith*argument*};对比templatevoidmyMethod(){//Dosomethingwith*argument*};ThinkinginC++,第1卷,第2版,在Templatesindepth一章下,关于非类型模板参数只有几句话,我觉得我没有完全理解他们的目的。编辑:感谢您的解释。如果可以的话,我会标记这两个答案,因为它们相互补充。 最佳答案 不同之处

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