func.h
void in(){}
func.cpp
void in(){  
printf("HelloWorld");
}
main.cpp
#include "iostream"
#include "func.h"
int main(){
    in();
}
error C3861: 'printf': identifier not found   
この問題を解決するのを手伝ってください、ありがとう
func.h
void in(){}
func.cpp
void in(){  
printf("HelloWorld");
}
main.cpp
#include "iostream"
#include "func.h"
int main(){
    in();
}
error C3861: 'printf': identifier not found   
この問題を解決するのを手伝ってください、ありがとう
ソースファイルfunc.cppは#include <cstdio>、使用する前#include <stdio.h>に宣言する必要があります。printf()では<cstdio>、 namespace を使用できるようになるため、行の後にstd記述するか、関数名のプレフィックスとして使用することができます。using namespace::std;#includestd::
も必要#include "func.h"ですfunc.cpp。
func.cpp- オプション1#include <cstdio>
#include "func.h"
void in()
{  
    std::printf("HelloWorld");
}
func.cpp— オプション 2#include <cstdio>
#include "func.h"
using namespace std;
void in()
{  
    printf("HelloWorld");
}
func.cpp— オプション 3#include <stdio.h>
#include "func.h"
void in()
{  
    printf("HelloWorld");
}
オプション 1 がおそらく推奨されるオプションです。
また、関数の空の関数本体が本当に必要な場合を除き、ヘッダーは関数を定義するのではなく宣言する必要があります。その場合、ソース ファイルはまったく必要ありませんfunc.cpp。
void in();
通常、ヘッダーは複数の包含から保護する必要があります。今回は害はありませんが、良い習慣を学ぶことをお勧めします。
#ifndef FUNC_H_INCLUDED
#define FUNC_H_INCLUDED
void in();
#endif /* FUNC_H_INCLUDED */