完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
从两个基类派生类时,我发现了一个问题。
类BaseA { 民众: 基础A(){} 虚拟 int GetNumber () const {返回 42;} }; 类BaseB { 民众: 基地B(){} virtual int32_t MathConfuscator (int32_t input) {return input * 97 % 5;} }; DerivedC 类:公共 BaseA、公共 BaseB { 民众: 派生 C() {} int GetNumber () const override {return 10;} int32_t MathConfuscator (int32_t input) override {return input * 10;} }; 在程序中运行这些类,例如: 主函数() { 派生C myDerive; int64_t mytick = 4078; int32_t tmp = ((BaseA*)&myDerive)-> GetNumber (); if(myTick == ((BaseB*)&myDerive)-> MathConfuscator (tmp)) 返回 1; } 第一个函数调用 GetNumber() 被正确执行并跳转到 DerivedC 函数,而 MathConfuscator 函数调用因硬故障而崩溃。 我已经使用 STM32G031K8T6 处理器在 STM32G031 Nucleo-32 评估板上对此进行了测试。编译器链是“9 2020-q2-update”。 对我来说,不清楚为什么我在运行这段代码时会遇到严重错误。如果代码有误,我预计会出现编译器错误或链接器问题。 你能告诉我我做错了什么或者我可以在哪里寻找这个问题的答案吗? |
|
相关推荐
1个回答
|
|
在这里适用于类似的芯片(我拥有的最接近的芯片)和默认设置:
arm-none-eabi-g++ "../Core/Src/moin.cpp" -mcpu=cortex-m0plus -std=gnu++14 -g3 -DSTM32G071xx -DUSE_HAL_DRIVER -DDEBUG -c -I../Core/Inc -I ../Drivers/STM32G0xx_HAL_Driver/Inc -I ../Drivers/STM32G0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32G0xx/Include -I ../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Core/Src/moin.d" -MT"Core/ Src/moin.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/moin.o" 无论如何,结果是 100。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2783 浏览 1 评论
3252 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1826 浏览 1 评论
3672 浏览 6 评论
6065 浏览 21 评论
1349浏览 4评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
373浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
468浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
292浏览 2评论
使用STM32F407VET6的USB2.0功能,发现ctl后芯片无数据返回,是什么原因可能导致的呢?
216浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 01:59 , Processed in 0.834340 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号