0
私は3つのヘッダと、3つの機能を呼び出すのmain.cからのコードの次のサンプルコードスニペットを持っている - 私の不明な理由のために警告を与えている:、基本的に警告:暗黙の関数宣言 - 問題を含む順序?
#include "header1.h"
#include "header2.h"
#include "header3.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
gccを使用した後に、関数2 & 3が警告を生成します。しかし、このような何かにコードを再配置した後:
#include "header3.h"
#include "header1.h"
#include "header2.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
それから、私に1 & 2は、暗黙的機能の警告を与えます。私はここで間違って何をしていますか?あなたは、ファイル1は次のようになります含める
を変更し、[MCVE]を提供してください。ヘッダーファイルの正確な内容を確認する必要があります。あなたはおそらくそれらの1つ/すべてにエラーがあります(同じインクルードガードを使用して私の推測です)。 – kaylum
このようなエラーは、ヘッダーが依存ヘッダーを正しく含んでいないか、あいまいなマクロ/条件付きコンパイルを使用している場合に発生します。 [ask]を参照し、[mcve]を提供してください。ここ – Olaf
@kaylumは、ヘッダファイルの1、残りのフォロースーツ '#ifndefの__REZON_FUNCTIONS__ の#define __REZON_FUNCTIONS__ のボイドはfunction1()です。 #endif ' – rezon