1. ホーム
  2. コンパイラ言語
  3. C

解決済み] g++ コンパイルエラー: ')'トークンの前に一次式があることが予想される

2022-01-21 04:05:56
<パス

質問内容

Windows上で正常にコンパイルされたc++のコードをLinux上でg++を使用してコンパイルすると、以下のようなエラーが発生します。

error: expected primary-expression before '>' token

  • 1

または

error: expected primary-expression before ')' token

  • 1

その他

理由

g++ では、メンバ関数が <> のようなシンボルを持つ場合、アサーションを曖昧にするため、以下のように設定します。 < は、その > 等と間違われる。

ソリューション

クラスを明示的に追加し、その後に

.template




a.function<m,n>() に変更する。
a.template function<m,n>()

参考

stackoverflow: g++ では ">" の前に一次式があると予想されるが、マイクロソフトのコンパイラでは予想されない。