Renesas Synergy™

FAQ 3000267 : CC-RXコンパイラでの可変引数マクロの使用について

Q: 質問

RXコンパイラCC-RXを使用しています。
ソースコードに#define FUNC(...)と書いてコンパイルすると、以下のエラーが発生します。

(E) E0520040 xxx(xx):E0520040:Expected an identifier

CC-RXコンパイラでは可変引数マクロは使用出来ないのでしょうか?


A: 回答

CC-RXコンパイラでも可変引数マクロを使用することは可能です。
CC-RXツールのプロパティ→コンパイル・オプション→Cソースファイル言語をC99(-lang=c99)に設定してください。#define FUNC(...) はC89では未サポートでC99でサポートされるようになった記述です。
CC-RXの新規プロジェクトではCソースファイルがC89でコンパイルされるため、
#define FUNC(...) を使用する場合はC99でコンパイルするように設定する必要があります。

 

適用製品

RXファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください