小编fel*_*425的帖子

Cpp Friend功能无法访问私有静态成员

我有一个私有静态变量的类.main函数应该更改变量中的值,但即使我将main函数设置为类的朋友,编译器也会告诉我该变量是私有的,不能从main访问.

例:

ClassA.h:

namespace nameA{    

class ClassA {
    private:
        static int varA;

    public:
        ClassA(){};

    friend int main(void);
};
}
Run Code Online (Sandbox Code Playgroud)

ClassA.cpp:

namespace nameA{

int ClassA::varA = 0;

}
Run Code Online (Sandbox Code Playgroud)

主要:

int main(void){
    ClassA::varA = 42; //ERROR
}
Run Code Online (Sandbox Code Playgroud)

我不知道"朋友"是否也允许访问静态成员,或者我是否必须找到另一种解决方案.

c++

3
推荐指数
1
解决办法
479
查看次数

带有 LibOpenCM3 的 STM32 FreeRTOS

我有一个 STM32 BluePill 板(带有 8Mhz Quarz 的 STM32F103C8),并尝试上传一个用 LibOpenCM3 和 FreeRTOS 制作的小闪烁程序。但由于某种原因,FreeRTOS 在 vTaskStartScheduler() 中挂起,sys_tick_handler 也没有执行任何操作。

我没有使用调试器,只是在 sys_tick_handler 函数内放置了一个 gpio_reset ,并在 vTaskStartScheduler 调用之后测试代码是否被执行,但它似乎没有做任何事情,我不明白为什么。代码可以在这里找到:https ://gitlab.com/feldim2425/stm32-testing

更新:我用 OpenOCD 进行调试,发现它跳入了 Hard_fault_handler 更新 2:UsageFault-Status-Register 设置了 NOCP 位

c stm32 freertos libopencm3

2
推荐指数
1
解决办法
1348
查看次数

标签 统计

c ×1

c++ ×1

freertos ×1

libopencm3 ×1

stm32 ×1