我在emacs中使用C ++,除了突出显示代码的详细信息外,它工作得很完美。每当我编写一个带有多个参数的函数时(有时,即使只有一个参数),它也不会将函数识别为函数,例如:
double Gamma(double x, double mean, double gamma){
//some code
}
Gamma
不会像函数一样突出显示,而是以纯文本形式显示,而在#define square(x) x*x
中,square
被正确突出显示,
complex<double> magphase2c(double mag, double phase){
// some code
}
其中magphace2c被突出显示为函数。
例如,当我有
时会发生同样的行为TF1 *fitBWResult = new TF1("fitBWResult", BreitWigner, ResMassMin, ResMassMax, 3);
// versus
double Mass = 0.776132;
其中fitBWResult
未被识别为变量,但Mass
是。{{1}}。最后一个问题只发生在使用指针时。
我正在使用Emacs 23.4.1,我不知道cc-mode的版本,但是我正在运行最新的Debian测试安装(wheezy)。
提前致谢!
答案 0 :(得分:1)
我认为这个问题不应该没有答案,因为我解决了这个问题归功于用户noisecapella的想法,我发布了我找到的解决方案:
Debian Wheezy当时使用cc-mode 5.31.8和Emacs 23.4.1,这个版本的cc-mode是有问题的。解决方案是安装包from their homepage的更新版本(也许是旧版本也可以完成工作)。特别是,我解决了安装版本5.32.3的问题,这是当时较新的版本。