プログラムを書き始めたばかりで、わからないことに気づきました。「時間」という構造を定義しました。"time1" という構造体変数を定義しようとすると、"expected an ';'" というエラーが送信されます。しかし、ヘッダーファイル「iomanip」を削除すると、エラーが消えます! そして、もう一度含めると、エラーが返されます。なぜこれが起こるのですか?
質問する
2852 次
2 に答える
4
このコードを試してみましょう:
#include <iomanip>
struct time
{
int a;
};
int main()
{
time t1;
}
ここにエラーと、これをコンパイルしようとすると QtCreator で表示される警告があります (mycompiler は g++ 4.6.3 です)。コンパイラはtime
、これをステートメントではなく関数名と見なします。
どうやら、<iomanip>
何らかの形で が含まれ<time.h>
ており、 time()time.h
という関数があります。したがって、基本的には、構造の名前を「myTime」などに変更するだけです。
于 2012-07-06T10:31:33.263 に答える
0
構造体の名前を変更したくない場合は、次のように変更できます。
#include <iomanip>
struct time
{
int a;
};
int main()
{
struct time t1;
}
于 2012-07-06T11:33:36.893 に答える