E05200029:Expected an expression. のエラーについて質問があります。
使用マイコン:RX64M開発環境:e2studioコンパイラ:CC-RX V3.00
現在ヘッダファイルに下記のマクロ定義と、
マクロはC言語処理系ではCコンパイラの前処理ソフトで処理されます。ファイルで一度定義されるとファイル終端まで#undefで無効化されるまで有効です。#include <ファイル名>をよく使うと思いますが、これはソースコードに#includeで指定したファイルを文字通り含んだ状態にしてしまいます。やろうと思えば#includeで.cファイルを指定しても問題ないわけです。
Yamamoto様
ご回答ありがとうございます。そもそも要素の指定ができていなかったですね。forループで配列をコピーするやり方に変更し、配列がコピーされているのは確認できましたが、やはり配列の代入方法が間違っていたみたいです。ご指摘の通り要素数の指定も間違いですね。また、case1文の中身を{}でスコープしていることについては、switch文の理解不足でした。{}でくくらなければswitch文全体にスコープされてしまいますね。「static const int data_table[]」とする書き方は大変勉強になりました。この書き方だと不用意に書き換えられることも防げるのでまねさせていただきます。memcpyを使うとforループでの代入に比べて、コード量が減りますね。自分のforループで代入するやり方はコード量が多く見づらいので、参考にさせていただきます。実際にプログラムを動かし、配列に格納されていることが確認できました。ありがとうございました。#defineについて今一度理解しました。