#include <iostream.h>
#define mkr(a) {cout << a;\cout << b;\}
void main(void){
cout << "2数を表示するマクロ" << endl;
mkr(1,9);
}
↑これをコンパイルするとエラーになりました。
エラー 5行目
マクロ 'mkr' の呼び出しにおける引数の個数が
誤っている(関数 main() )
ネット上で見つけたものなんですが、このプログラムを
正しく修正するとどうなるんですか?
マクロのソースを見たのは初めてだったので分かりませんでした。
No.3ベストアンサー
- 回答日時:
ようするに
#include <iostream.h>
#define mkr(a,b) {cout << a;cout << b;}
void main(void){
cout << "2数を表示するマクロ" << endl;
mkr(1,9);
}
こうするか、
#include <iostream.h>
#define mkr(a,b) {cout << a;\
cout << b;\
}
void main(void){
cout << "2数を表示するマクロ" << endl;
mkr(1,9);
}
こうするかです。
マクロの各行の一番尻や、" "で囲まれた途中の文字列の尻に \ を入れると、改行してるけれど、続けます、と言った意味合いがあります。
例えば、
#include <iostream.h>
#define mkr(a,b) {cout << a;\
cout << b;\
}
void main(void){
cout << "2数を表\
示\
す\
る\
マ\
ク\
ロ" << endl;
mkr(1,9);
}
といった記述もできます。
一般的には非常に長いマクロや、長い文章を記述する場合に、ソースコード上の見た目を見やすくするために使います。
(各ソースコードはBorland C++ コンパイラで確認済み)
ありがとうございます。
#include <iostream.h>
#define mkr(a,b) {cout << a;\
cout << b;\
}
void main(void){
cout << "2数を表示するマクロ" << endl;
mkr(1,9);
}
というのが正しかったのですね。
改行のために \ を用意したのに、改行されてなかったということで
エラーになっていたということが分かりました。
No.2
- 回答日時:
記号¥は、マクロ内において行と行をつなぐものです。
1行ですべてを記述するのであれば必要ありません。
No.1
- 回答日時:
2行目の
#define mkr(a) {cout << a;\cout << b;\}
を
#define mkr(a,b) {cout << a;\cout << b;\}
と置き換えてください。
ネット上の情報が全て正しいわけではありませんので、ご注意ください。
この回答への補足
情報ありがとうございます。
#include <iostream.h>
#define mkr(a,b) {cout << a;\cout << b;\}
void main(void){
cout << "2数を表示するマクロ" << endl;
mkr(1,9);
}
コンパイルエラー E2206 test.cpp 5: 不正な文字 '\' (0x5c)(関数 main() )
コンパイルエラー E2206 test.cpp 5: 不正な文字 '\' (0x5c)(関数 main() )
俺も mkr(a) を mkr(a,b) にすればいいと思ったんだけど
bcc5.5でコンパイルできなかったんです。
マクロを知らないから \ というのが何なのかも分からないんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで縦に並んだデータを...
-
Excel2000:Ontimeメソッドで特...
-
ExcelのVBA。public変数の値が...
-
既存のマクロをコンボボックス...
-
エクセルで別のセルにあるふり...
-
右クリックによるイベントマク...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excelで特定の文字のところで自...
-
特定のPCだけ動作しないVBAマク...
-
マクロ実行時、ユーザーフォー...
-
エクセルに張り付けた写真のフ...
-
エクセルでA1セルに時刻をリア...
-
エクセル マクロ 指定日の指定...
-
EXCELのマクロの重複起動...
-
VBAの記述の、Sub SetValue()など
-
エクセルのマクロについて教え...
-
VC++ 2008 EXPRESS "_T"識別子...
-
ワードで算用数字を漢数字に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
Excel マクロでShearePoint先の...
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
マクロ実行時、ユーザーフォー...
-
wordを起動した際に特定のペー...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
マクロで空白セルを詰めて別シ...
-
【EXCEL VBA】オートシェイプを...
-
エクセルのマクロをセルの値に...
おすすめ情報