草庐IT

function-call-operator

全部标签

c++ - operator() 的典型用途是什么

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Howcanoverloadingoperator“functioncall”inC++beuseful?我经常看到括号运算符operator()在类或结构上被重载。我自己从来没有遇到过这样的需求,想知道这个运算符的典型用途/需求是什么?例如,重载operator==被接受为返回true或false,基于与提供的参数的某种相等性。这具有特定的可接受和预期的行为。

c++ - Matlab Engine 命令窗口中的 "??? Undefined function or method"

我正在使用VisualStudio编写C++代码,并将一些变量发送到MATLAB引擎。到目前为止没有问题。假设我打开了MATLAB命令窗口并且这些变量:»whosNameSizeBytesClassAttributesQWe1x3652920doubleQWp1x3642912doubleQWu1x3642912double我可以使用标准的MATLAB函数,但我下载了一个新的function.m(设置路径后它在MATLAB中正常工作),MATLAB引擎的命令窗口无法识别或找到它。»isnormq(Q)???Undefinedfunctionormethod'isnormq'我以为它们(

c++ - 使用 GetProcAddress : callback function fails with invalid parameter 从 C++ 调用 Delphi DLL

我有一个从C++调用的第3方DelphiDLL。不幸的是,我无法访问PascalDLL代码,也不是Pascal程序员。没有lib文件,所以我使用GetProcAddress调用许多DLL函数,成功地通过值、地址和引用传递参数。我还注册了一个回调函数,它会在预期时被调用。我的问题是在回调函数中,无法评估两个参数之一(地址0x000001)。这是PascalDLL函数声明typeHANDLE=Pointer;///handle(**ThisfunctionRegistersthecallbackfunctionOnACLNeeded*)functionRegisterCallback(h:

c++ - OpenCV 错误 : Sizes of input arguments do not match (The operation is neither 'array op array' )

我正在做一个在树莓派上使用opencv的项目。我遇到了一个看起来很简单的障碍,但我无法解决问题。首先,这是我的代码的一部分:{gray=cvarrToMat(py);///cvShowImage("camcvWin",py);//displayonlygraychannelif(img_num%2==1){cv::imwrite("/home/pi/test/Gray_2Image1.jpg",gray);}elseif(img_num%2==0){cv::imwrite("/home/pi/test/Gray_2Image2.jpg",gray);cv::Matimg2=cv::im

c++ - 重载运算符(operator) body 的奥秘

假设我有以下类(class):树与树;对象树包含一个树对象数组。下面是Trees和Tree类的内容:树.h:#pragmaonce#include"Tree.h"classTrees{private:Treem_Tree[20];intiTrees;public:Trees(void):iTrees(0){}TreeGetTree(inti){returnm_Tree[i];}voidAddTree(Treetree){m_Tree[iTrees++]=tree;}};树.h:#pragmaonce#includeclassTree{private:std::stringName;bo

c++ - boost::function 与函数指针

我正在实现一个通用设置读取器。我的想法是我有一个应用程序,它的设置可以是bool值、整数和字符串。然后我有一个Config类,其中实现了此类设置的getter,配置类在构造函数中接受了一个客户,因此它知道它将读取该客户的设置。我在让它工作时遇到了麻烦,我想我误用了boost::function,将它与普通函数指针混淆了。在映射中,我希望有引用,而boost::function应该只在配置读取时绑定(bind),因为我已经为那里分配了一个Config实例给定的客户。问题是我不能在没有typedef的情况下使用函数指针,这会使模板工作复杂化,有什么更明智的解决方案吗?#include"Co

C++ 错误 : a storage class can only be specified for objects and functions struct

我收到错误信息:错误:只能为对象和函数结构指定存储类在我的头文件中../**stud.h**Createdon:12.11.2013*Author:*///stud.h:DefinitionderDatenstrukturStud#ifndef_STUD_H#define_STUD_HstructStud{longmatrnr;charvorname[30];charname[30];chardatum[30];floatnote;};externStudmystud[];inteinlesen(structStud[]);voidbubbleSort(structStud[],int

c++ - 米斯拉-C++ :2008[8-4-3] : return in all exit path in function

在测试我的代码(静态分析)以查看我是否尊重misrac++2008时,我收到以下错误Functiondoesnotreturnavalueonallpaths.函数看起来像int*Dosomething(stringv){int*retvalue=NULL;if(0==exists(v)){throw("error:valuedoesn'texist");}else{retvalue=dosomecomputations(v);}returnretvalue;}我真的需要抛出一个异常,因为调用者应该根据错误做一些事情。可能的错误列表可能很大,而且不仅仅是该代码示例中的值不存在。我该如何

c++ - "static functions with block scope are illegal"错误取决于初始化样式?

我有一个类Library,其中包含一个结构Transaction,该结构有一个类型为Patron的成员变量。classPatron{public:Patron(){}};classLibrary{public:structTransaction{Patronp;Transaction(Patronpp):p(pp){}Transaction();};};对于Transaction的默认构造函数,我有一个函数default_transaction()返回对静态对象的const引用,正如Stroustrup在“编程-原则和实践”中所推荐的使用C++”(第324页);推理:避免在构造函数代码

c++ - Instruments Call Tree 破坏了 R、C++ 和 Fortran 的混合

我正在尝试针对CPU时间分析OpenMx的一个函数,一个包含C++和Fortran代码的R包。我的操作系统是OSX10.10。我读过section关于R手册中的这个主题。本款和thispost带我试试Instruments。这是我做的打开的工具选择时间分析器模板按下记录使用RStudio启动我的R脚本我得到以下输出:.命令行工具sample返回相同的输出。问题是它看起来像omxunsafedgemm_会直接从主线程调用。但是,这是一个低级Fortran函数。它总是由名为omxDGEMM的C++函数调用。在此示例中,omxDGEMM首先由omxCallRamExpection调用(因此几