2

私はemacsでC++を使用していますが、コードを強調表示するときの詳細を除いて、完璧に機能します。複数の引数 (場合によっては 1 つだけの場合もある) を持つ関数を作成するときはいつでも、関数を関数として認識しません。たとえば、次のようになります。

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;

wherefitBWResultは変数として認識されませんが、変数として認識されますMass。この最後の問題は、ポインターを使用する場合にのみ発生します。

Emacs 23.4.1 を使用しています。cc-mode のバージョンはわかりませんが、Debian テスト (wheezy) の最新のインストールを実行しています。

前もって感謝します!

4

1 に答える 1

1

この質問に答えを残さないでおくべきではないと思います。ユーザーの Noisecapella のアイデアのおかげで解決したので、見つけた解決策を投稿します。

当時、Debian Wheezy は Emacs 23.4.1 で cc-mode 5.31.8 を使用しており、このバージョンの cc-mode に問題があります。解決策は、ホームページからパッケージの新しいバージョンをインストールすることです(古いバージョンでも機能する可能性があります)。特に、現時点で新しいバージョン 5.32.3 をインストールする際の問題を解決しました。

于 2012-08-02T20:54:39.090 に答える