2

我在 emacs 中使用 C++,它运行良好,除了突出显示代码时的细节。每当我编写一个带有多个参数的函数(有时,即使只有一个),它都不会将该函数识别为一个函数,例如,在:

double Gamma(double x, double mean, double gamma){
  //some code
}

Gamma不像函数那样突出显示,而是作为纯文本,而 in #define square(x) x*xsquare被正确突出显示,以及

complex<double> magphase2c(double mag, double phase){
// some code
}

其中 magphace2c 突出显示为一个函数。

例如,当我有相同的行为时,

TF1 *fitBWResult = new TF1("fitBWResult", BreitWigner, ResMassMin, ResMassMax, 3);
// versus
double Mass = 0.776132;

wherefitBWResult不被识别为变量,但是Mass是。最后一个问题仅在我使用指针时发生。

我使用的是 Emacs 23.4.1,我不知道 cc-mode 的版本,但我正在运行最新的 Debian 测试安装(wheezy)。

提前致谢!

4

1 回答 1

1

我认为这个问题不应该没有答案,并且由于用户noisecapella的想法我解决了这个问题,所以我发布了我找到的解决方案:

当时的 Debian Wheezy 使用 cc-mode 5.31.8 和 Emacs 23.4.1,而这个版本的 cc-mode 就是问题所在。解决方案是从他们的主页安装软件包的较新版本(也许旧版本也可以完成这项工作)。特别是,我解决了安装版本 5.32.3 的问题,当时是较新的版本。

于 2012-08-02T20:54:39.090 回答