#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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
EXCELのVBAでRange("A1:C4")を...
-
一つのTeratermのマクロで複数...
-
Excel VBAからAccessマクロを実...
-
メッセージボックスのOKボタ...
-
非表示の列をすべて削除するマクロ
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
ExcelVBAでPDFを閉じるソース
-
VBA アドインについて お詳しい...
-
TERA TERMを隠す方法
-
マクロで空白セルを詰めて別シ...
-
EXCELマクロでのThisisWor...
-
サクラエディタ・マクロ → VSCo...
-
エクセルマクロ自動更新
-
[初心者です]VBAで指定列か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報