一部のソースコードをLinuxシステムに移植しようとしていますが、期待通りにいくつかの問題が壊れています。今のところ私の間違いを引き起こしているのは、誰かが.hと.cppファイルを持っていてfclose()を使うということです。ヘッダーファイルにソースコードを含める必要がありますか?
コンパイラはヘッダファイルにfclose()が宣言されていないと訴えています。それらがどのようにこれは前に働いて手に入れた - 私はこれは悪いスタイルだと思いますが、また、今
void closeFile() { if (fp) fclose(fp); }
:
は、ここでは、ヘッダーファイル内の関数宣言をしましたか?コンパイラのバージョンでこのような動作が可能でしたか?私は、ヘッダにはstdioを含めることによって、この問題を解決する、またはCPPに全体を動かすべきか?
ヘッダーにコードを入れても文法的に間違ったことはありません。したがって、コンパイラはこれを "許可"することができます。これらのソリューションのいずれかが問題ありません。 – Falmarri
C++コードでfcloseを使うのは、常に悪いスタイルです。 – BatchyX
@BatchyX:すべての絶対的な非難は常に間違っています。 –