草庐IT

int_void

全部标签

c++ - 未定义模板的隐式实例化 'std::__1::function<int (double, double, double, double)>'

在我正在进行的项目中,我尝试使用curlpp库来发出一个简单的htmlGET请求。当我将cpp文件传递​​给g++时,出现以下错误:/usr/local/include/curlpp/internal/CurlHandle.hpp:185:42:error:implicitinstantiationofundefinedtemplate'std::__1::function'curlpp::types::ProgressFunctionFunctormProgressFunctor;/usr/local/include/curlpp/internal/CurlHandle.hpp:13

c++ - 将用户输入从 int[] 转换为 char[][]

我让这个程序将int数组作为输入并使用快速排序对其进行排序,但我想知道,我将如何更改这个程序以将char[][]作为输入(字符串数组)并按字母顺序对它们进行排序?如果只有一个字符串,它可以工作,但我想知道如果有人想要字符串数组怎么办//followingprogramsortsanarrayusingquicksortalorithm#include#includevoidswap(int*a,int*b)//functiontoswapelements{intt;t=*a;*a=*b;*b=t;}intpartition(intarr[],intleft,intright)//fun

c++ - 为什么别名 int& 允许创建非函数类型 const (int&)?

通常在使用常量引用时会出现编译器错误,但在使用别名或使用模板时不会。为什么会这样?inta=5;usingmy_t=int&;my_tconstb=a;//#1OKint&constc=a;//#2Compilererror当运行最新的clang编译器(x86-64clang(实验性P1144))时,#1给我警告:[x86-64clang(experimentalP1144)#1]warning:'const'qualifieronreferencetype'my_t'(aka'int&')hasnoeffect[-Wignored-qualifiers]#2给出了错误:[x86-64

c++ - GCC 和 clang 中奇怪的构造和析构函数语法(void * 返回类型)

在编写一些C++代码(使用clang、x86_64linux进行编译)时,我不小心编写了以下结构:classClass{*Class(){}};即在构造函数名称前加上星号(*)。再尝试一下,我注意到您可以在前面放置任意数量的*;它也适用于析构函数,即classClass{********Class(){}********~Class(){}};Clang编译它没有任何错误或警告。但是GCC给出了警告controlreachesendofnon-voidfunction这让我相信我实际上是在声明一个返回类型为void*(或void********)的构造函数/析构函数。写任何类型的带有值

c++ - 在 C++ 中传递 void(*)

我有一个std::map,我试图为值存储空指针。问题是,我试图存储的大部分指针都是类中的方法并且具有不同数量的参数。我知道对于参数,我可以使用va列表,所以这不是什么大问题,问题在于实际指针本身。这是我的:classA{public:A();voidmethodA(...);};classB{public:B();voidmethodB(...);};voidmethod_no_class(...){}std::mapmy_map;my_map[0]=&method_no_class;B*cb=newB();my_map[1]=&cb->methodB;//willreturnerro

c++ - 为什么 Qt 对 void* 使用 reinterpret_cast 而不是 static_cast?

您可以使用static_cast将任何指向T的指针转换为void*或将其转换为void*,为什么Qt使用reinterpret_cast?intSOME_OBJECT::qt_metacall(QMetaObject::Call_c,int_id,void**_a){_id=QMainWindow::qt_metacall(_c,_id,_a);if(_id(_a[1])));break;default:;}_id-=1;}return_id;} 最佳答案 老实说,我也一直没弄明白。void**结构的创建方式相同,只需将int*转换

c++ - 将 vector<int> 分配给 vector<double> 安全吗?

这个问题在这里已经有了答案:C++convertvectortovector(2个答案)关闭去年。要为某个计算初始化变量,我必须从整数数组中为它们赋值。所以我这样做:vectorvd;intai[N];//Filledsomewhereelsevd.assign(ai,ai+N);这适用于gcc4.6.1Linux。但它总是正确的吗?或者我应该回到常青树:vd.resize(N);for(inti=0;i感谢您的澄清!

c++ - 从二进制文件读取字节到 long int

我有两个问题:我有一个二进制文件中的数据。我想通过使用读取函数读取前8个字节以签名longint,但我不能。你知道我该怎么做吗?如何直接读取一段数据为字符串?我可以像中所示那样阅读吗例如:ifstreamis;is.open("test.txt",ios::binary);stringstr;is.read(str.c_str,40);//40bytesshouldberead 最佳答案 Iwantreadfirst8bytestosignedlongintbyusingreadfunctionbutIcouldnot.Doyouk

c++ - 如何从 Main 调用 void 函数

在我的程序中,我试图从Main调用void函数,但我想不出正确的方法。Main位于最底部,voidGetTicketType(char&Choice)是我需要调用以cout票证类型的函数。//---------------------------------------------------------------------------//Purpose:Thisprogramsimulatesaticketofficeforsportingevents//Author:TBA//Date:TBA//-----------------------------------------

C++ ptr_fun 找不到 void 参数化函数

我尝试使用std::ptr_fun来包装我的函数,但是当我尝试使用void参数和bool返回类型来包装一个函数时,我得到了一个错误:代码:std::functioncr=std::not1(std::ptr_fun(&funct1));功能:boolfunct1(){returnfalse;}错误:error:nomatchingfunctionforcallto'ptr_fun(bool(*)())'但每当我将参数更改为int时,问题似乎就消失了。如何使用void参数包装函数? 最佳答案 std::ptr_fun仅适用于一元函数: