標準のマクロのエラーについて

このQ&Aのポイント
  • 標準のマクロのエラーについて説明します。
  • マクロに関連するエラーについて解説します。
  • マクロを使用した際に生じるエラーについて調べました。
回答を見る
  • ベストアンサー

標準のマクロのエラーについて

 今日は、下のような標準のマクロを書いたのですが、 「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。 「_DATE_」の両端はアンダーバーではないのでしょうか、半角にしても全角にしても同じエラーになります。  どのような符号を使ってやればよいのでしょうか、それとも他の原因のエラーなのでしょうか、宜しくお願いします。 ============================================================= #include <stdio.h> int main() { printf("今日は%dです。\n" , _DATE_); return 0 ; }

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.3

半角のアンダースコアを2個並べてください。 パソコンの画面では判別しにくいかもしれません。

その他の回答 (3)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.4

> 「_DATE_」の両端のアンダーバーを半角にしても全角にしても同じエラーになります。 > 「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。 DATEの両端に半角のアンダーバーが2つずつつきます。(合計4つのアンダーバー) __DATE__となります。 それでもだめでしょうか。 だめな場合、コンパイラがサポートしていないのかも知れません。 お使いのOS及びコンパイラを教えて下さい。  

htgotk_001
質問者

お礼

 皆さん回答有り難う御座います。  半角のアンダスコア2個づつでうまく動きました、本当に有り難う御座いました、今後とも宜しくお願いします。  それにしても、半角2個とは分かりにくいです。。。。。。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

printf("今日は%dです。\n" , _DATE_);を printf("今日は%sです。\n" , __DATE__);にしてください。

htgotk_001
質問者

お礼

 tatsu99さん回答有り難うございます。  「_DATE_」の両端のアンダーバーを半角にしても全角にしても同じエラーになります。  「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。    一体どこが悪いのでしょうか。  エラーの行番号は「_DATE_」のある行です。

回答No.1

お疲れ様です。 DATE前後のアンダーバーは、それぞれ2個記述が必要です。

関連するQ&A

  • C++のコンパイルエラーが

    おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------

  •  現在、私はC言語を学んでいます。

     現在、私はC言語を学んでいます。  プログラミングの初期の初期の問題なんですが、 「Hello World」という有名なプログラムがありますよね? それについての質問です。 #include<stdio.h> main() { printf("Hello World"); return 0; } も #include<stdio.h> main(void) { printf("Hello World"); return 0; } も #include<stdio.h> int main() { printf("Hello World"); } もちゃんと表示できます。 ここで質問です。 int main(void) int main() main() main(void) はどう違うんですか? あと、 return 0; はあっても無くてもいいようなんですが どういう意味があるんでしょうか?

  • VisualC++ ビルド失敗

    #include<stdio.h> int main(){ printf("Hello World\n"); return 0; cin.ignore(); } >>cin.ignore(); これで画面がすぐに消えないようにしたいのですが、定義されてない識別子と出ます。 教えてください・・・よろしくお願いします。

  • エラーの原因が分かりません。

    Cをはじめたのですが、次で、 実行時にエラーとなってしまいます。 (「問題が発生したため・・」とでます)。 コンパイルは出来るのですが、 どこが悪いのでしょうか。 #include <stdio.h> char sendstr(); int main(){ char myc=sendstr(); printf("%s",myc); printf("HELLO"); return 0; } char sendstr(){ char mychar='s'; return mychar; }

  • 配列について

    初歩的な質問ですいませんが、質問よろしくお願いします。 ◎1----------------------------- #include<stdio.h> int main(void) { char ss[10]="AB"; printf("ss=%s\n",ss); return 0; } ------------------------------------ ◎2-------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss[0]='A'; ss[1]='B'; ss[2]=0; printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎3------------------------------- #include<stdio.h> #include<string.h> int main(void) { char ss[10]; strcpy(ss,"AB"); printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎4------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss="AB"; printf("ss=%s\n",ss); return 0; } ---------------------------------- 以上4つのプログラムで、◎2と◎3は正常に動くと理解できたのですが、何故、◎1は正常に動き、◎4は「'const char [3]' から 'char [10]' に変換できません。」といったようなエラーが出てしまうか分かりません。 教えていただければ嬉しいです。

  • 標準ライブラリ関数と標準入力を使ったプログラミング

    C言語で「入力された数字をASCIIコードとして文字で出力する」というプログラムを作っています。 isdigitを使って入力が数字だったら値を出力して、それ以外のときはエラーメッセージが出力されるようにしたいのですが上手く動作しません。 以下が作ったプログラムなのですが。 #include<stdio.h> #include<ctype.h> int main(void) { int=a; scanf("%d",&a); if(isdigit(a))printf("%c",a); else printf("エラーです"); return 0; } isdigitの使い方がいまいちよく分かってないのともしかしたら根本的に何か大きく違ってるのかもしれないのですが何か助言等あれば頂きたいので宜しくお願いいたします。

  • C言語エラー

    C言語をいじっているのですが、16行目と19行目の「型」の前に「;」がありませんと表示されます。 どこをどう改善すればいいか教えてもらえないでしょうか /*遊び半分*/ #include <stdio.h> #include <process.h> int main() { char dear; printf("ああああ\n"); printf("ああああ \n"); scanf_s("%c", &dear); switch (dear){ case 'A04': ; int main(void); { printf("ああああ\n"); int main(void); printf("あああ\n"); printf("あああ\n"); break; system("pause"); return 0; } case 'C34' : printf("\n"); break; case 'E24' : printf("\n"); break; case 'F38' : printf("\n"); break; default: printf("メッセージはありません\n"); break;} return 0;

  • いきなり。

    C言語をやってます。中学3年です。始めたばっかの初心者なんですが、ビルドエラーが出たのでどこが悪いのか教えていただきたいです。 #include <stdio.h> int main() { printf("今日はよい天気ですね。\n明日もよい天気でしょう\n"); return 0; } これなんですが、ビルドエラーが2つ出ました。 Visual C++を使ってます。 よろしくお願いします。

  • int とcharの使い方と違い

    教えてgooに投稿するのは初めてですがよろしくお願いします。 最近C言語を勉強し始めた初心者です。 ネットのサイトを見て独学でしています。 過去スレッドをさらっと見て聞きたいことが書いてなかったので投稿します。(同じスレッドがあったらすみませんOTL) #include<stdio.h> int main(void) { int str='a'; printf("str=%c\n",str); return0; } この上のプログラムでは str=a と出て、エラーが出ずにコンパイル出来ました。でも、 #include<stdio.h> int main(void) { int str[]="abc"; printf("str=%s\n",str); return0; } とするとエラーが出ます。 int とcharの使い方と違いについて詳しく教えてほしいです>< お願いします。

  • コンパイルエラー

    Borlnd C++ compilerでコンパイルしたのですが、どうしてもエラーがでてしまいます。エラーは、不正な文字’’(0×8140)(関数 main) エラーE2206 文字' ' (0×8140)(関数 main) エラーE2206と二つ同じエラーがあると表示されます。本当に分からないので力を貸したください。お願いします。 /*読み込んだ二つの整数値の大きい方の値を求めて表示(条件演算子)*/ #include <stdio.h> int main(void) { int n1, n2, max; puts("二つの整数を入力してください。");   printf("整数1 : "); scanf("%d", &n1); printf("整数2 : "); scanf("%d", &n2); max = (n1 > n2) ? n1 : n2; printf("大きい方の値は%dです。\n", max); return 0;

専門家に質問してみよう