草庐IT

int_void

全部标签

c++ - 从 ‘void*’ 到 ‘unsigned char*’ 的无效转换

我有以下代码;void*buffer=operatornew(100);unsignedchar*etherhead=buffer;我在尝试编译时收到该行的以下错误;error:invalidconversionfrom‘void*’to‘unsignedchar*’为什么我会收到这个错误,我认为void是“无类型”的,所以它可以指向任何东西,或者任何东西都可以指向它? 最佳答案 您需要进行转换,因为如果不先进行转换,您无法将void*转换为任何内容。你需要做的unsignedchar*etherhead=(unsignedchar

C++ 'int x = (anyInt1, anyInt2);' 是什么意思?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:whydoes3,758,096,384今天我发现下面的代码可以用gcc编译:#includeintmain(){intx=(23,34);std::cout为什么会这样编译?(...,...)是什么意思?

c++ - 为什么 "extern int &c;"工作正常?

在C++中,必须初始化引用变量。诠释&a;//错误staticint&b;//Error但是externint&c;//Noerror为什么编译器不为extern说明符引用给出错误? 最佳答案 extern关键字是编译器的指令,您现在正在声明一个符号,该符号将在链接期间填充,取自另一个目标文件。初始化预计发生在定义实际符号的地方。如果你有一个a.c文件intfoo;int&bar=foo;还有一个b.c文件externint&bar;当您将文件b.c编译成b.o时,编译器会将bar的符号留空。链接程序时,链接器需要在a.o中找到导出

c++ - 当我离开 shift 超出 INT_MAX 时发生了什么?

我有这段代码inta=1;while(1){a在输出中,我得到..5368709121073741824-214748364800为什么我没有达到INT_MAX?在那之后到底发生了什么? 最佳答案 你有一个带符号的整数,所以数字是二进制补码。这是发生了什么00..01=100..10=2[...]01..00=107374182410..00=-2147483648//Highestbittoonemeans-01..11-1=-(2^31)00..00=0您无法达到INT_MAX,您最多只有2^30。正如评论中所指出的,c++标准

c++ - *(int*)(buffer) 是什么意思?

在我正在阅读的C++代码中,发现了以下内容。谁能帮我理解以下语句的作用?charbuffer[4096];//somecodeintsize=*(int*)(buffer); 最佳答案 charbuffer[4096];//thisisanarrayof4096characters//somecodeintsize=*(int*)(buffer);会将(衰减的)字符指针(即buffer)转换为整数指针。然后取消引用它以获得一个整数值。您从中获得的整数值将由buffer数组的前4个字符值组成,假设int的大小在您的机器中为4个字节,或

c++ - int(int)& 或 int(int) const & 是什么类型?

std::is_function专用于具有类似于以下签名的类型:int(int)&请看这里:std::is_function但这既不是指向成员方法的指针,其签名可能是:int(T::*)(int)&也不能是对函数的引用:int(&)(int)那么这个奇怪的签名是什么? 最佳答案 它是一种只存在于类型系统中的函数类型。它永远无法创建。Butthisisneitherapointertoamembermethod,whichsignaturecouldbe:int(T::*)(int)&就是这个,没有指针。类型系统允许您将其描述为一种类

ios - Swift 错误,无法将类型 Int 转换为 int 16

此函数将数字与该数字分量的立方之和进行比较。例如abc=a^3+b^3+c^3。转换出错,请帮忙。functriKuba(i:Int16,k:Int16,vararray:[Int16]=[])->Int16{forvari=100;i如果我理解正确,方法pow周围的行中的下一个错误“无法使用Int16类型的参数列表调用pow”,方法pow是一个^3 最佳答案 我强烈怀疑这就是您要查找的内容:funcarithmeticRoot3(varvalue:Int)->Int{varresult=0whilevalue>0{letdigit

ios - Swift:将 Int 转换为 UInt32,以及如何解包可选

我是swift的新手,我只是想构建一些东西来试水。这与我之前的一个问题有关。我正在构建一些代码以从UITextField对象获取用户输入,基本上我试图弄清楚如何将Int转换为UInt32,但我在SO或其他方面搜索的任何内容都没有真正帮助。这是我的代码//这是我调用用户输入的地方。varrangeInput:Int?{get{returnInt(rangeInputTextField?.text??"")}//这是我创建一个范围的函数,并调用一个超出该范围的随机数letviewController=ViewController()varx=ViewController().rangeIn

java - 如何在 Swift 中将 Int 位模式转换为 Float?

我正在寻找Java的Float.intBitsToFloat(int)的等价物在Swift中。我试过:letmyInt:UInt32=...letmyFloat=Float(_bits:myInt)但这给了我编译器错误,“无法将‘UInt32’类型的值转换为预期的参数类型‘FPIEEE32’”。有没有一种我缺少的简单方法可以做到这一点? 最佳答案 更新:在Swift3中,我们现在可以:Float(bitPattern:myInt)在@MartinR的帮助下进行了一些挖掘之后,似乎有两个(相当丑陋的)Swift解决方案:Float._

错误2不能隐式将“ int”类型转换为“字符串” C#

我正在尝试查看连接之前的可用端口。我已经看到了大量的解释,但是它们都没有起作用。这是我的代码publicintportxt=27001;publicvoidGetOpenPort(){using(TcpClienttcpClient=newTcpClient()){try{tcpClient.Connect("192.168.1.32",portxt);MessageBox.Show("Portopen");}catch(Exception){MessageBox.Show("Portclosed");randomport();txtPort.Text=portxt;}}}publicvoid