Vector CANoe で CAPL スクリプトを開発しており、テキスト文字列を返す関数をいくつか定義する必要があります。C では、次のように記述します。
char * ErrorCodeToMsg(int code)
また
char [] ErrorCodeToMsg(int code)
CAPL では、両方の定義が . で失敗しparse error
ます。これまでに思いついた唯一の実用的な解決策は次のとおりです。
variables {
char retval[256];
}
void ErrorCodeToMsg(int code) {
char [] msg = "Hello word";
strncpy(retval, msg, 256);
}
もちろん、これは非常に醜いです。なぜなら、各呼び出しにErrorCodeToMsg
は 1 つではなく 2 つのステートメントが必要だからです。より良い方法はありますか?