.wavファイルの操作... * ptr_8および *ptr_16 - サンプルの配列へのポインター。
ヘッダーのデータに応じてこれらのポインターを宣言するようにプログラムを作成したい (if 8 bitsPerSample ---> *ptr_8 を宣言する...)
if ( hdr.S1.BitsPerSample == 8 ) // Declaring array for samples. Depending
// on header's data (8 or 16 bits).
unsigned char *ptr_8;
else
if ( hdr.S1.BitsPerSample == 16 )
unsigned short *ptr_16;
問題は、次のように書いていることです。
error: expected expression before 'unsigned'
このような動作の理由はわかりませんが、両方の行(どこで*ptr_8
とを宣言する必要があります)に。*ptr_16
何が悪いのか教えてください。
アップデート:
結局のところ、宣言はコンパイル時の概念です(以下の受け入れられた回答を参照)。
変数はコンパイル中に宣言されているため、マシンのリソースを一度取得すると(アプリケーションをコンパイルしたときに)、それらはすべてそこで宣言されています。これは、プログラムを最適化しようとする最悪の方法の 1 つだったことを意味します...