
こんにちは。
VS.2005でプログラミングをしているのですがプリプロセッサで起こるエラーの対策が分からずに
悩んでいます。
エラー内容は以下のとおりです。
warning C4067: プリプロセッサ ディレクティブの後に余分な文字がありました - 改行が必要です
この状態を改善するには、/ZaコンパイラオプションがどうのこうのとMSのHPには載っていますが
どのようにやればいいのか分かりません。
以下にソースコードを載せておきます。
#ifndef _TEXT(x) // TEXTマクロを使うとこの警告が表示されるようです。
#define _TEXT(x) __T(x)
#endif
この警告を無くすにはどうしたらいいでしょうか?
よろしくお願いします。
No.3
- 回答日時:
コンパイラが余分な文字があることと
その場所まで教えてくれてるのだから、、、
#ifndef _TEXT // _TEXTが定義されていなければ
#define _TEXT(x) __T(x) // _TEXTを__Tとして定義する
#endif
上記のとおりにデバッグを行ったら警告が消えました。
ご指摘ありがとうございます。
多分、この問題は自分のプリプロセッサ命令の理解不足だと思います。
No.2
- 回答日時:
あなたはこの #ifndef で何をしたいのですか?
#ifndef がどのような機能を持っているのかわかっていますか?
この回答への補足
#ifndef XXXはXXXが定義されていないとその先を実行するというプリプロセッサ
命令だと思います。
#ifndef _TEXT(x)というのは通じないみたいです。
まだ調べていないのですが #ifndef _TEXT(x)←引数付にして宣言するのは駄目
なようですね。 この引数の部分を取り去るとコンパイラが通りました。
単なるプリプロセッサの理解不足のような気がします。
回答ありがとうございます。
実は参考書を読んでそれでプログラムを組んでいます。
しかし、その参考書で必要になるサンプルプログラム内で問題がるようで・・・
その参考書、時々プログラム部分が凡ミスして載せてあるんですよね。
自分はまだプリプロセッサ命令、IDE互換対応、OS互換対応プログラムは末体験なんで困っています。
まぁ、ただの愚痴なんですけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
ソース内の行末に\\
-
特定文字のある行の前に空白行...
-
WORD テキストボックスを全ペ...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
ダブルクリックで貼り付けた画...
-
組んだマクロをメールで送る
-
EXCEL VBAでマクロの最後でFind...
-
マクロのエラーの原因を教えて...
-
EXCELのマクロの重複起動...
-
既存のマクロをコンボボックス...
-
VBAにて別ワークブック上の実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報