首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++错误C2447?我错过了什么

关于C++错误C2447,这个错误通常是由于在尝试将一个对象或函数的地址赋值给一个指向不兼容类型的指针时发生的。这可能是因为类型不匹配或者指针类型不正确。

以下是一些可能的原因和解决方案:

  1. 类型不匹配:确保您正在尝试将对象或函数的地址赋值给正确类型的指针。例如,如果您有一个指向整数的指针,您不能将一个指向浮点数的指针赋值给它。
  2. 指针类型不正确:确保您使用的指针类型与您要赋值的对象或函数的类型兼容。例如,如果您有一个指向成员函数的指针,您不能将一个普通函数的地址赋值给它。
  3. 使用了const或volatile限定符:如果您在尝试将一个const或volatile限定符的对象或函数的地址赋值给一个没有这些限定符的指针,您将会得到C2447错误。确保您的指针类型与您要赋值的对象或函数的类型兼容。
  4. 使用了指针到成员函数:如果您在尝试将一个指向成员函数的指针赋值给一个普通函数指针,您将会得到C2447错误。确保您使用的指针类型与您要赋值的对象或函数的类型兼容。
  5. 使用了指针到数据成员:如果您在尝试将一个指向数据成员的指针赋值给一个普通对象指针,您将会得到C2447错误。确保您使用的指针类型与您要赋值的对象或函数的类型兼容。

如果您仍然无法解决C2447错误,请检查您的代码以确保您没有遗漏任何类型不匹配或指针类型不正确的情况。如果您需要进一步的帮助,请随时向我们咨询。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

什么十分喜欢C,却很不喜欢C++

同时,也会关注现代编程语言及其发展趋势,而且还使用 Rust 编写了自己的业务爱好项目。那么,为什么没有抛弃 C 而选择其他语言呢?对于 C++的看法又是如何的呢? ?...再加上一些其他情况,比如调用函数不需要事先声明原型,这样很容易将错误类型的参数传递给函数。 最后,C 的标准库非常有限。...为什么还是喜欢C? 尽管如此,还是十分喜欢 C,因为它是一种简单的语言。从某种意义上说很简单,很容易表达自己的想法以及期望。...这与C++什么关系? 下面,我们来说一说 C++,其实不讨厌 C++。...无法想象为什么这种行为被禁止,其原因只可能是编译器优化。这样就不可能利用联合体将整数转换成浮点数。Linus 也曾吐槽过这一点,就不用重复了。

69010

GET 和 POST请求的本质区别是什么?原来的理解一直是

你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。...请告诉真相。。。 如果告诉你GET和POST本质上没有区别你信吗? 让我们扒下GET和POST的外衣,坦诚相见吧! GET和POST是什么?HTTP协议中的两种发送请求的方法。 HTTP是什么?...在大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。...他究竟是什么呢。。。 GET和POST还有一个重大区别,简单的说: GET产生一个TCP数据包;POST产生两个TCP数据包。...也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,等下要送一批货来,你们打开门迎接”,然后再回头把货送过去。

3.1K00

非常不错!大佬带你提高解决bug的能力!

这个话题老生长谈了,在面试中必然考核的能力中,个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。...但执行后没有任何信息输出,这时候通过什么方法能知道程序在哪里?这里可以将解决问题能力分为8个等级,越到后面的表示能力越强。...表示此PHPer通过了此层级的50%考验。 另外一个情况就是php-cli与php-fpm得到的执行情况不一样,如在web浏览器中执行是对的,cli下执行是的。...PHP程序员只要过了这个等级,就足以应多大部分情况,在中小型网站中毫无压力。...Lv6 gdb使用 gdb是C/C++调试程序的利器,需要具备一定C/C++功底的程序员才会能熟练使用gdb。上面说的strace无法跟踪php程序CPU100%,而gdb是可以跟踪的。

43010

C++总是很神奇

很多时候看到C/C++的一些奇妙的应用,每次都是惊奇一点时间就随风飘过了 现在还是决定记录一下这些有意思的东西。...,事实上在VC++运行下是报错的,然而在G++之下正确,而不同系统和编译器下结果可能不一样,这和内存分配有关,以下为在Fedora 15下G++ 4.6.0的结果 i = > 5 j => 3 k =...像是内存对齐啊,加入调试信息什么的。比如VC的Debug编译就会插调试信息,你能知道越界后的内容是啥?...看来之前记错了或者那个教科书是的,普通成员函数的也是直接查类的函数表的,而不是用变量记函数指针。...2010⁄05 这个是写OSG的时候想到的一个忘记的关于C++类继承的自动调用构造和析构函数问题 测试代码如下: #include #include #include

36520

C++总是很神奇

很多时候看到C/C++的一些奇妙的应用,每次都是惊奇一点时间就随风飘过了 现在还是决定记录一下这些有意思的东西。...,事实上在VC++运行下是报错的,然而在G++之下正确,而不同系统和编译器下结果可能不一样,这和内存分配有关,以下为在Fedora 15下G++ 4.6.0的结果 i = > 5 j => 3 k =...像是内存对齐啊,加入调试信息什么的。比如VC的Debug编译就会插调试信息,你能知道越界后的内容是啥?...看来之前记错了或者那个教科书是的,普通成员函数的也是直接查类的函数表的,而不是用变量记函数指针。...2010/05 这个是写OSG的时候想到的一个忘记的关于C++类继承的自动调用构造和析构函数问题 测试代码如下: #include #include #include

27420

关于PHP程序员解决问题的能力

原文出处: 韩天峰(@韩天峰-Rango) 这个话题老生长谈了,在面试中必然考核的能力中,个人认为解决问题能力是排第一位的,比学习能力优先级更高。...但执行后没有任何信息输出,这时候通过什么方法能知道程序在哪里?这里可以将解决问题能力分为8个等级,越到后面的表示能力越强。...表示此PHPer通过了此层级的50%考验。 另外一个情况就是php-cli与php-fpm得到的执行情况不一样,如在web浏览器中执行是对的,cli下执行是的。...PHP程序员只要过了这个等级,就足以应多大部分情况,在中小型网站中毫无压力。...Lv6 gdb使用 gdb是C/C++调试程序的利器,需要具备一定C/C++功底的程序员才会能熟练使用gdb。上面说的strace无法跟踪php程序CPU100%,而gdb是可以跟踪的。

1.1K70

c语言编译器在线-c在线编译器(c语言在线编程)

,这就是它通过了二进制代码和汇编的组合完成了这个解释过程,而其功能,在内部需要很多的二进制代码和汇编代码。...是用source 的。你好,试着帮你回答下吧: 用tc2.0或tc3.0在vista下能用,但是用着不方便,另外:c++ 、dev c++ 可用也可。...turbo c 在vista下正常; visual c++ 6 在vista下也正常; 至于其他c语言开发软件就没有测试了.......小问题二:   在类中对友元函数和重载的支持不是很好,虽然打了补丁,还是有点问题,最经典的一次就是写了一个类的重载运算符c语言编译器在线,仔细看了好久,还是提示有一个错误,忘记是什么了,好像是什么,都不知道在哪里...他没有出现过以前VC++写程序时候莫名奇妙的卡住的问题,也没有让人摸不着头脑的错误,而且界面完全可以定制,代码提示功能也很好,程序调试一样很方便。

6.6K50

【PTA】选民投票 (20分)

参考链接: C++ isupper() 编程统计候选人的得票数。...有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(姓名最长为9个字节),若选民输候选人姓名,则按废票处理...其中,第四个测试点:**段错误,是数组越界。**虽然题目只有10,但是若是写11,还是不够,一气之下写了个100,就过了。大E了,又没有闪。 ...磨了两个小时的几个教训: 1、一定要写注释,标明变量代表什么,特别是代码长的时候。  2、数组尽量大。  3、一段一段地测试数据。 ...;          int flag=0,temp=0;//flag是用来判断是否输名字;temp是输名字的次数。

92710

关于 Java 的10个谎言

这段代码为什么会输出In the finally block?为什么没有打印出堆栈跟踪信息呢? 2....3.Java的内存泄露跟C++程序员理解的一样 内存泄露在维基百科上的定义是”在计算机科学中,如果程序没有正确地管理好内存分配 ,就会出现内存泄露。...这个问题在这篇文章中已经讲到过了。很多人都不相信随机数生成器生成的数字其实是不随机的。 7.应该尽量避免使用浮点数,因为它们会产生随机错误 对于同一个操作而言,浮点数每次都会产生同样的错误。...如果你清楚你要做的事情是什么,并且坚持使用一些简单的规则,比如说对结果进行舍入操作,那么浮点数出的也不会比BigDecimal要多,除此之外它的可读性更强,而且效率快了百倍以上(同时产生的垃圾对象也更少了...10.Java面试题都是正确的 有很多Java面试题要么是过时了(超过10年没有更新了,和现在的Java版本已经脱节),要么是误导大家的,甚至可能是的。

48210

提高编程技能最有效的方法

– 对你的编程技术提高最有效的一件事是什么?回复的人中给了很多很不错的建议,把他们总结了一下,十条,相信一定会对你有用。(注意:顺序是自己按的个人经验排的) 和比自己聪明的能力比自己强的人工作。...学习他们的代码,他们的做事方法,看一看那些人是怎么处理错误的。 总是倾听别人怎么说,无论那个的资历和职位是什么样的。 实践,实践,实践,总是不满意于一开始出来的事。 多问问自己,现在在写什么代码?...举例,为什么C++有“初始化例表”而Java却没有?为什么Java的没有多重继承?为会有了TCP还要UDP?对于一个事物,什么是好的,什么是不好的。不但要了解其表面,还要了解其思想。...不犯错误永远没有经验,从自己的错误和别人的错误中学习,只有自己犯了,才会真正明白。犯错不可怕,可怕的是不会总结只有真正的摸爬滚打过的人才是强人。技能和经验总是用错误去换来的。 回顾。...C -> C++ -> Java,等等,等等。未来其实就在回顾过去之中。 质疑。质疑精神很重要。质疑通常会导致不同意见甚至反对意见。

53931

关于Java的10个误解

String str = “Hello”;其中str是一个字符串对象 跟C++不同的是,Java里的变量要么是基础类型,要么是引用。变量不可能是对象。...Java的内存泄露跟C++程序员理解的一样 内存泄露在维基百科上的定义是”在计算机科学中,如果程序没有正确地管理好内存分配 ,就会出现内存泄露。...这个问题在这篇文章中已经讲到过了。很多人都不相信随机数生成器生成的数字其实是不随机的。 7. 应该尽量避免使用浮点数,因为它们会产生随机错误 对于同一个操作而言,浮点数每次都会产生同样的错误。...错误是可预测的,因此也是可控的。...如果你清楚你要做的事情是什么,并且坚持使用一些简单的规则,比如说对结果进行舍入操作,那么浮点数出的也不会比BigDecimal要多,除此之外它的可读性更强,而且效率快了百倍以上(同时产生的垃圾对象也更少了

37140

关于算法笔试,东哥又整出套路了🤔

假设,过了一会你突然灵光一闪,唤起一些零碎的记忆,确定 B 选项是的,那么,这时候你该怎么做? 重新在 A 和 D 中间蒙一个啊哥哥!...是不是觉得在胡扯? 这样,假设一道选择题有 100 个选项,你随便蒙一个,正确率为 1%,错误率为 99%。...C++ 也还行,但是觉得没有 Java 好用。...印象中 C++ 连个分割字符串的 split 函数都没有,光这点我就不想用 C++ 了…… 还有一点,C++ 代码对时间的限制苛刻,别的语言时间限制 4000ms,C++ 限制 2000ms,觉得挺吃亏的...前面不是说了么,没有什么问题是暴力穷举解决不了的,直接用 回溯算法套路框架 硬上,大不了加个备忘录,不就成 动态规划套路框架 了么,再大不了这题不做了么,暴力过上 60% 的 case 也挺 OK 的

52520

puerts偿还了xLua哪些技术债

但在UE4,宿主语言是C++C++本身没运行时检查,而要在lua侧记录类型信息并动态校验开销会比较大,可能因为这个原因或者别的因素不少lua方案不做校验直接传,这可能会导致十分严重的后果,比如一个c+...+函数参数要求的是FVector指针,并修改其Z字段,在lua那传了FVector2D指针,由于C++不会校验指针类型,所以会产生越界写(某ue4的lua方案真实案例)。...一些拼写错误,类型错误,得在运行时才能发现,然后靠肉眼排查。 最后一点是lua的生态,严格来说前面说的“静态类型检查”也是生态的衍生品。...所以,在UE4的脚本方案选型,加入了两点要求: 1、支持静态类型检查; 2、有良好的生态:包括工具链,库,文档; 最终锁定了typescript/javascript,typescript有静态类型...最终选了v8: 稳定性是最主要的因素,程序稳定了,才能考虑其它的,v8已经在chrome浏览器各平台经过了无数人的蹂躏,无数时间的考验。况且它的性能也十分优秀。

1.1K30

关于算法笔试的几个套路,一点就透

假设,过了一会你突然灵光一闪,唤起一些零碎的记忆,确定 B 选项是的,那么,这时候你该怎么做? 重新在 A 和 D 中间蒙一个啊哥哥!...是不是觉得在胡扯? 这样,假设一道选择题有 100 个选项,你随便蒙一个,正确率为 1%,错误率为 99%。...C++ 也还行,但是觉得没有 Java 好用。...印象中 C++ 连个分割字符串的 split 函数都没有,光这点我就不想用 C++ 了…… 还有一点,C++ 代码对时间的限制苛刻,别的语言时间限制 4000ms,C++ 限制 2000ms,觉得挺吃亏的...前面不是说了么,没有什么问题是暴力穷举解决不了的,直接用 回溯算法套路框架 硬上,大不了加个备忘录,不就成 动态规划套路框架 了么,再大不了这题不做了么,暴力过上 60% 的 case 也挺 OK 的

19020

程序员提高编程技能有哪些有效的方式?

– 对你的编程技术提高最有效的一件事是什么? 回复的人中给了很多很不错的建议,把他们总结了一下,十条,相信一定会对你有用。...学习他们的代码,他们的做事方法,看一看那些人是怎么处理错误的。 总是倾听别人怎么说,无论那个的资历和职位是什么样的。 实践,实践,实践,总是不满意于一开始出来的事。 多问问自己,现在在写什么代码?...举例,为什么C++有“初始化例表”而Java却没有?为什么Java的没有多重继承?为会有了TCP还要UDP?对于一个事物,什么是好的,什么是不好的。不但要了解其表面,还要了解其思想。...不犯错误永远没有经验,从自己的错误和别人的错误中学习,只有自己犯了,才会真正明白。犯错不可怕,可怕的是不会总结只有真正的摸爬滚打过的人才是强人。技能和经验总是用错误去换来的。 回顾。...C -> C++ -> Java,等等,等等。未来其实就在回顾过去之中。 质疑。质疑精神很重要。质疑通常会导致不同意见甚至反对意见。

10120

pip安装scrapy失败_python的scrapy框架的安装

错误如图所示,running setup.py install for Twisted…..error Twisted依赖库安装报错,重新下载手动安装一下 下载网址: https://www.lfd.uci.edu.../~gohlke/pythonlibs 注意:看下安装的python是什么版本,安装的python 3.9.0,就下载cp39,64位的 下载安装的版本不对,就会报:Twisted-20.3.0-cp38...-cp38-win_amd64.whl is not a supported wheel 错误 把下载的文件放在python的script文件夹下,运行pip install Twisted…… 新建一个...scrapy项目之后发现还是报错了,alt+回车安装scrapy报错, error: Microsoft Visual C++ 14.0 or greater is required....提取码: q5tc 装了蛮久的,等的都要睡着了 此时依旧报这个……………….真是太困了 然后发现了一个不得了的事 哦原来是因为的python路径不对的原因,换到python39下就就有了

64710

如果高考要考编程的话?不敢想,不敢想......

翻过去之后是什么,他们很少考虑过。 所以我之前安慰高考的学生的时候都会说一句:不论你当下考出来的成绩怎么样,只要不是发挥失常,过了几年你回想的时候都会觉得,其实高考也不算什么特别大的事情。...有一道BFS的题明明会做,但就是不对,也不知道在哪里。...“哈哈,看来这道题还是会做的,这就是低级错误“ 老师一脸严肃:“住嘴,什么低级错误,低级错误也是错误!高考犯低级错误,照样没有分数。”...C++。...记得2044年上海的题目,出题者本来是想要大家用O(n log n)算法的,但是限时给的太长了,如果你用C++再加上一些优化,O(n^2)也能拿满分,最后好多人暴力过了

38020

防微杜渐,向扁鹊学习治理代码

因为术是有局限性的,比如我是写C++的后台程序员,对于编程语言的部分,就不会阐述到Jave/Go的防治之术,但是认为理解本文所述之道,对所有程序员都会有所帮助。...在编译时发现 为什么要在编译时发现,因为这是最靠前的阶段,如果能在编译期间发现问题,能大大的节省我们开发自测的时间。...这本书中有一句话说的不错: “无知之”可被原谅,“无能之”不被原谅。 这里的“无知之”指的是因为自身技术、知识水平不够导致的错误,这种通常是能被原谅的。...“无能之”(感觉翻译的不够好)并不是因为技术、知识水平不够,而是因为马虎大意导致本不该犯错的地方犯了,这种错误不能被原谅!...其实前面介绍的编译期、启动时、运行时的经验方法,也是在利用工具来避免“无能之”。而对于需求,对于业务逻辑仅仅这些还有些欠缺。 受此启发,认为也需要维护一个需求分析的清单。

16520
领券