0

次のコードでerror C2143: syntax error : missing ';' before 'type'宣言している行で、コンパイル中にエラーが発生しましたが、その理由がわかりません。char *bufVisual Studio 2012 を実行しています。gcc で問題なくコンパイルできるようです。これをコンパイルするために変更する必要があるVSの設定、またはコードの変更はありますか?

私が今やろうとしている唯一のことは、ファイルと同じサイズの char 配列を作成することですinput.txt

#include <stdio.h>
#include <stdlib.h>

int get_file_size(FILE *inputfile);

int main()
{
    FILE *inputfile;
    int filesize;
    char filename[FILENAME_MAX];

    inputfile = fopen("input.txt","r");
    filesize = get_file_size(inputfile);
    char *buf = (char*)malloc(sizeof(char)*filesize);
    fclose(inputfile);

    return 0;
}

int get_file_size(FILE *inputfile)
{
    int size;

    inputfile = fopen("input.txt","r");
    fseek(inputfile,0,SEEK_END);
    size = ftell(inputfile);
    fclose(inputfile);

    return size;
}
4

1 に答える 1

4

VS は C99 をサポートしていないため、すべての変数宣言は現在のスコープの先頭にある必要があります。あなたにとって、それは機能の頂点を意味します。

于 2013-09-28T22:19:17.280 に答える