草庐IT

T_OLD_FUNCTION

全部标签

c++ - 从 C++ 调用 C 函数, "no matching function"错误

我已经定义了以下头文件(在C中),省略了函数实现,因为不需要这个:#ifndefFFMPEG_MEDIAMETADATARETRIEVER_H_#defineFFMPEG_MEDIAMETADATARETRIEVER_H_#include#include#includeintsetDataSource(AVFormatContext**pFormatCtx,constchar*path);#endif/*FFMPEG_MEDIAMETADATARETRIEVER_H_*/在C++中,我定义了第二个头文件:#ifndefMEDIAMETADATARETRIEVER_H#defineMED

C++ STL 101 : Overload function causes build error

如果我不重载myfunc,就可以工作的简单代码。voidmyfunc(inti){std::coutv;v.push_back(1);v.push_back(2);std::vectors;s.push_back("one");s.push_back("two");std::for_each(v.begin(),v.end(),myfunc);std::for_each(s.begin(),s.end(),myfunc);return;}int_tmain(intargc,_TCHAR*argv[]){std::cout两次for_each调用都会重复以下构建错误。errorC2914

c++ - 如何制作 std::function 实例

在C++0x中,我们像下面这样使用std::function:intnormal_function(){return42;}std::functionf=normal_function;所以要获得一个std::function实例,我们必须首先定义它的类型。但这很无聊,有时也很难。那么,我们是否可以像std::tuple一样使用make来获取std::function实例?事实上,我只是用谷歌搜索了一下,C++0x并没有提供这样的make工具。为什么C++0x不提供make工具?我们可以实现吗? 最佳答案 是的,我们可以实现它tem

c++ - 如何将成员函数指针传递给 std::function

如何通过函数将成员函数指针传递给std::function。我将通过比较来解释它(LiveTest):templatevoideasy_bind(std::functionf,Args&&...args){}intmain(){fx::easy_bind(&Class::test_function,newClass);return0;}我收到一条错误消息:nomatchingfunctionforcallto‘easy_bind(void(Class::*)(int,float,std::string),Class*)’我只是不明白为什么函数指针在通过函数参数传递时不能传递给std::

C++ - 为什么 std::function<some_type_t, void> 无效?

在C++中,如果我尝试这样做:std::function然后编译器会抛出错误。为什么是这样?它在许多情况下很有用。一个例子://g++-std=c++17prblm.cpp#include#includetemplateclasssome_callback{public:usingcallback_t=std::function;some_callback(callback_t_myfunc){this->myfunc=_myfunc;}callback_tmyfunc;};usingcallback_with_just_bool=some_callback;usingcallback

c++ - 为什么在使用 GCC 7、libstdc++ 和 -fgnu-tm 编译时,std::is_function 无法识别 transaction_safe 函数?

下面的编译失败是由于libstdc++缺陷造成的,还是此行为符合事务内存TS(n4514)?#includestatic_assert(std::is_function_v,"");intmain(){} 最佳答案 它应该可以工作,请提交一份GCC错误报告。 关于c++-为什么在使用GCC7、libstdc++和-fgnu-tm编译时,std::is_function无法识别transaction_safe函数?,我们在StackOverflow上找到一个类似的问题:

C++ 最佳实践 - 函数类型别名 std::function<T> 或 T

在C++中为函数类型声明类型别名时,什么被认为是最佳或良好实践(我知道这部分问题可能是主观的)?要么usingFuncType=void(int,int);或usingFuncType=std::function;两者之间有什么好处吗?例如,我应该如何将这些类型用作函数参数(当作为仿函数、lambda、成员或全局函数传递时)voidfoo(FuncType&&func){...}voidfoo(FuncTypefunc){...}voidfoo(std::functionfunc){...}编辑我知道并非我上面的所有示例都适用于#1和#2,但这不是重点。我想知道哪个(以及为什么)选项更

c++ - 使用多线程在 GNU C 中使用 Write Function 是否安全

将多个线程的函数调用写入同一个套接字安全吗?我们想在它们之间添加同步吗?它会引起诸如此类的问题吗应用程序从网络层到应用层的写入/读取延迟我们正在使用GNUC++库LinuxRedhat环境上的GCC4这是一个服务器端进程,其中服务器和客户端之间只有1个套接字连接服务器和客户端位于2台不同的机器上数据从服务器发送到客户端客户端到服务器问题1-当服务器向客户端发送数据时(多个线程通过同一个套接字向客户端写入数据)但是从某些线程写入的数据没有进入客户端,它甚至没有进入网络层同一台机器的(Tcpdump没有该数据)问题2-当客户端向服务器发送数据时,客户端发送的数据显示在服务器的TCPdump

c++ - 没有 typedef 的运算符 member_function_pointer_type()?

是否可以在不使用typedef的情况下创建一个operatormember_function_pointer_type()(即通过内联指定成员函数指针的类型)?例如,在实现SafeBoolIdiom时:classFoo{typedefvoid(Foo::*bool_type)()const;public:operatorbool_type()const;};是否可以在声明运算符时直接写出bool_type的类型?如果是,怎么办? 最佳答案 这似乎是唯一不能在不使用typedef的情况下声明(类型转换)operator的情况。如果它是

c++ - 错误 LNK2019 : unresolved external symbol ___iob_func referenced in function "void __cdecl Padding(int)"

使用FTDIAPI可以在VisualStudio2012下正常编译和链接。但在VS2014下,它给出:ErrorLNK2019:unresolvedexternalsymbol___iob_funcreferencedinfunction"void__cdeclPadding(int)"标准库有变化吗? 最佳答案 是的,标准库已经改变,FTDI似乎并不关心-至少从CDM2.12.18驱动程序版本开始不关心。问题在thisquestion的答案中描述。.ftd2xx.lib中devcon.obj的void__cdeclPadding(