C言語で#defineを用いてヘッダファイルを作成したのですが、
作成したコンパイルするときにヘッダファイルがオープンできません。
参考にしている資料があるのですが、そこに書かれているサンプルプログラムを
丸ごとコピーして作ったプログラムも同様にヘッダファイルがオープンできない
というエラーが出るので、ヘッダファイルを定義する方法そのものが間違っていると
思うのですが、どこが間違っているのでしょうか?
よろしければ正しい記述方法もお教えください。
#include <stdio.h>
#if !defined SAMPLE_H
#define SAMPLE_H
wa(int a, int b)
{
return a+b;
}
#endif
#include "sample.h"
int main(){
printf("%d\n",wa(40,70));
return 0;
}
ヘッダファイルの定義の方法は他にもあるとは思いますが、
今回は#defineを用いた方法でお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#defineは置き換えマクロであってヘッダファイルを定義するものではありません。
ですから#include <stdio.h>
#if !defined SAMPLE_H
#define SAMPLE_H
int wa(int a, int b)
{
return a+b;
}
#endif
int main(){
printf("%d\n",wa(40,70));
return 0;
}
ならOKです。まあちょっと中途半端ですね。関数マクロになっていないですし。
int wa(int a, int b)
{
return a+b;
}
の部分だけを別ファイルに保存しておいてincludeすればできますけど。
関数形式マクロなら
#include <stdio.h>
#define wa(a,b) ((a)+(b))
int main(){
printf("%d\n",wa(40,70));
return 0;
}
No.1
- 回答日時:
提示されたコードの、どこからどこまでが
*.c
で、どこからどこまでが
*.h
ですか?
*.c
と
*.h
は同じフォルダーに置いてありますか?
ところで、ヘッダーファイルに関数の実体を書くのは
ちょっとどうなのかな?と思います。
宣言を書くんだったら普通ですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
放射線取扱主任者令和5年度 物...
-
ガスタービンとガスエンジン、...
-
仮に自動車がAI化されても、私...
-
量子技術の社会実装、って、具...
-
低圧絶縁抵抗測定について教え...
-
配線の色の意味
-
グラフは横軸がすべり、縦軸が...
-
よろしくお願いします。 乾電池...
-
問1 複数の増幅回路を縦続接続...
-
工業 機械製図について この赤...
-
【ハケ】ダスター刷毛とラスタ...
-
ペースメーカに悪影響を与える...
-
【工業】ホツパーと漏斗(ジョ...
-
豆電球の明るさを調整したい。...
-
皆さん、おはようございます♪ ...
-
【電気設計者に質問です】なぜ...
-
乗用車にタイヤ・ホイールを取...
-
他励式インバータは交流電源を...
-
標本化周波数の図示
-
電子回路の記号
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三相交流回路の意味がチンプン...
-
燃料電池を三次電池と言わない...
-
なんで
-
低圧絶縁抵抗測定について教え...
-
「Fパラメータ」が出力端「開放」「...
-
よろしくお願いします。 乾電池...
-
電子回路の記号
-
直流回路の電力測定について 電...
-
【工学】プランジャーとシリン...
-
IPCPネゴシエーションについて
-
皆さん、おはようございます♪ ...
-
電動糸紡ぎ機とドラムカーダー...
-
電気工学と電子工学の学科選択...
-
板の表面の平面度が2005.7μm、...
-
ラップに表裏はあるのでしょうか?
-
絶縁抵抗試験と耐電圧試験
-
九州大学工学部gpaについて
-
プリウスにphevやソーラーpanel...
-
5段階スピードエレキモーターに...
-
しかしながら使用可能なGPIOは...
おすすめ情報