我正在使用C ++模式编写一些代码 我发现对于某些没有返回类型的函数,错误地完成了缩进(缩进到行的开头)。一个常见的情况是类类型的构造函数,例如
class Person {
public:
Person(const std::string &s): name(s) { }
Person(const std::string &s0, const std::string &s1): name(s0), address(s1) { }
private:
std::string name = "Default_Name";
std::string address = "Default_Addr";
}
初始化列表之前的冒号也可能是一个原因。
问题:
有没有解决这个问题?
答案 0 :(得分:4)
评论的格式不是很好,所以我在这里回答:
是的,我之前也被我咬过了。最佳解决方案取决于您是否认为您将编写大量C代码。如果你将,那么你可以在最后用“.hh”命名你的C ++标题,所以Emacs知道。
或者,您可以设置一个设置模式的文件局部变量:file local variables
或者,如果您不会编写大量C代码,可以在.emacs中修改auto-mode-alist,以便.h默认为c ++模式:
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))