草庐IT

random_int

全部标签

c++ - 返回 NULL 但出现错误 C2440 : 'return' : cannot convert from 'int' to 'const &'

我有一个方法如下classBuildOrderStrategy{public:virtualconstUrgency&getUrgency()=0;...}下面是哪个实现constUrgency&RandomBuildOrderStrategy::getUrgency(){returnNULL;}但是在编译时我得到了这个错误errorC2440:'return':cannotconvertfrom'int'to'constUrgency&'此时我真的很想从getUrgency方法返回一个NULL值。所以..我的代码有什么问题?我该如何解决?我来自Java世界,在那里这是完全可能的..紧

C++,使用 vector<int[2]> 我可以 push_back({someNum1,someNum2}) 吗?

我有vector:vectorstoreInventory;//storeInventory[INDEX#]{ITEMNUM,QUANTITY}我想使用push_back()方法将新数组添加到库存vector。类似这样的东西:constintORANGE=100001;constintGRAPE=100002storeInventory.push_back({GRAPE,24});storeInventory.push_back{ORANGE,30};但是,当我尝试使用上面的语法时,出现错误Error:excpetedanexpression。我正在尝试的是不可能的,还是我只是以错误的

c++ - C++ 中 string 和 int 的函数模板

我想要一个函数模板,它接受一个vector和一个元素,并返回该元素在vector中的位置。我希望此函数适用于int和std::string类型。这是函数模板定义:templateintfindElement(constvector&vec,constT&ele){for(size_ti=0;i如您所见,我最初正在检查类型,以便我可以使用适当的比较方法。当我使用std::string类型参数调用时,这工作正常,但当我将它与double类型一起使用时,它会出现以下错误:errorC2228:leftof'.compare'musthaveclass/struct/union和seerefe

c++ - "vector<pair<int,int>> q;"和 "vector<pair<int,int>> q;"有什么区别

这个问题在这里已经有了答案:Templateissuewithvector[duplicate](2个答案)关闭7年前。前者出现编译错误,但后者工作正常。error:‘>>’shouldbe‘>>’withinanestedtemplateargumentlist谢谢

c++ - "int &&"和 "auto &&"之间的不同行为

在C++11中,如果我尝试这样做:intx=5;int&&y=x;它将无法编译,并出现一个错误,提示右值引用无法绑定(bind)到左值。但是如果我这样做:intx=5;auto&&y=x;它编译没有错误。为什么会这样?我试图获取y的类型,但typeid()带走了引用属性。auto&&是否根据分配的内容自动折叠为&或&&? 最佳答案 在第一种情况下int&&y,变量y只能绑定(bind)到rvalue,x是不是。在第二种情况下auto&&y但是,变量y可以绑定(bind)到任何东西,因为无论如何都会推导出y的类型—并且将相应地应用引用

c++ - (C++) INT_MAX 和 INT_MIN 无法解析?

我目前正在www.udemy.com上C++类(class)在其中一节课中,老师正在使用#include演示一个整数可以拥有的最大整数个数。但是,当我去包括限制时,一切顺利,直到我尝试打印INT_MAX和INT_MIN以查看最大整数和最小整数。这是我的代码:#include#includeusingnamespacestd;intmain(){cout旁注:我在Windows10上使用EclipseNeonCDT和MinGW编译器。 最佳答案 你想要#include或,不是. 关于c++

c++ - 断言 unsigned int a indeed positive 不起作用?

我想将两个数相乘,并且我知道我的数总是正数,那么:unsignedintmulPositiveNumbers(unsignedinta,unsignedintb){assert(a>0);assert(b>0);return(a*b);}现在,我正在使用断言告诉自己“给定的数字总是正数”。但是当我运行时:intmain(){unsignedintres=mulPositiveNumbers(-4,3);//morestuffgoeshere}即使我使用的是负数,代码也不会失败。为什么? 最佳答案 因为a和b是无符号的,所以它们永远不

c++ - std::map<string,int> 值的默认初始化

这个问题在这里已经有了答案:std::mapdefaultvalueforbuild-intype(4个答案)关闭6年前。这段代码看起来运行良好,它们的默认值value_type(int)为0;它适用于所有情况吗?std::mapw;for(constauto&t:str)w[t]++;双呢?map?默认0.0?

c++ - 为什么 while(int) 在 int = 0 时结束?

我试图在C++中找到与Java的in.hasNextInt等效的输入,我找到了这个。#include#includeintmain(){std::vectormyvector;intmyint;std::cout>myint;myvector.push_back(myint);}while(myint);std::cout但我真的不明白为什么当输入为0时输入循环会停止。它有while(myint)循环,这也让我感到困惑,因为myint是整数而不是boolean值。当我们为myint输入其他内容时,它可能会作为boolean值工作,但我认为0仍然可以作为整数。任何人都可以向我解释一下吗?

c++ - "new int[];"是做什么的?

这行代码做了什么?newint[];根据我的编译器反汇编(VC++2012),它的作用与:newint[0];但它是C++标准规定的吗?这是合法的指示吗? 最佳答案 表达式newint[]对C++11无效(我没有检查C++14)。对于单个[],语法需要一个(隐式转换为)整数类型expression在方括号之间,表示所需的数组大小。请注意,此大小不必是常量:在抽象的底层,这就是您在C++中分配动态数组的方式。C++11(通过N3290最终草案)§5.3.4/6:”Everyconstant-expressioninanoptr-new