-4

ファイルサイズを取得する関数を作成しようとしています。GetFileSizeEx を使用してみましたが、必要な結果が得られず (整数または倍精度にしたい)、1MB より大きいかどうかを比較できませんでした。とにかく、この関数を作成しましたが、filenamestr が宣言されていないというエラーが発生します。

    int getsize(std::string const $filename);
...    
    int getsize(std::string const $filenamestr)
        {
            std::fstream file(filenamestr);
            file.seekg(0, std::ios::end);
            return file.tellg();
        }

私は何を間違っていますか?

4

3 に答える 3

1

変数名にはドル記号 $ を使用しないでください。Visual C++ ではサポートされていますが、C++ 標準ではサポートされていません。パラメータから削除するのが最善ですが、エラーは と の違いの結果でfilenamestrあり$filenamestr、2 つの異なる識別子です。

これで修正されます。

int getsize(std::string const filename);
...    
int getsize(std::string const filenamestr)
    {
        std::fstream file(filenamestr);
        file.seekg(0, std::ios::end);
        return file.tellg();
    }
于 2013-06-24T19:45:39.453 に答える