Code::Blocks中嵌套类方法插入功能异常问题咨询
Code::Blocks嵌套类函数定义生成的命名问题
在Code::Blocks环境下使用C++编程时,通过「Insert/Refactor - All class methods without implementation」功能插入嵌套类中声明的函数定义时,生成的函数名仅带有嵌套类名称,未包含外部类名称;但选择待插入项的菜单却能正确显示包含所有类名的实现形式。
期望生成的函数定义应为Class::Class2::functionOFClass2,而非仅Class2::functionOFClass2。请问是否存在可修改的设置来解决该问题?
代码示例
class Class { public: Class(); virtual ~Class(); class Class2 { void functionOFClass2(); }; };
当前生成的函数定义
void Class2::functionOFClass2() { }
解决方案说明
目前Code::Blocks没有提供可直接修改该行为的设置项。这是Code::Blocks代码生成模块的一个已知逻辑缺陷:菜单能正确识别嵌套类的完整限定名,但生成函数定义时会遗漏外部类的前缀。
你可以通过以下方式处理:
- 手动补全:在生成的函数定义前添加外部类的
Class::限定符,修正为void Class::Class2::functionOFClass2(); - 反馈修复:向Code::Blocks官方社区提交该bug,等待开发团队更新代码生成逻辑。
内容的提问来源于stack exchange,提问作者Bogdan
相关产品推荐
相关产品推荐

