さて、私は過去 4 時間、この「ここで最初に定義された複数の定義」の問題についてすべてのフォーラムを検索してきました。
次のファイルがあります。
main.cpp
Socket.h
Socket.cpp
Server.h
Server.cpp
Packet.h
FileHandlerIn.h
FileHandlerOut.cpp
main.cpp には、Server.cpp で定義されるいくつかの関数を宣言する Server.h のみが含まれます。
Server.cpp は Socket.cpp、FileHandlerOut.cpp、および Packet.h の関数を使用するため、ヘッダー ファイル Socket.h、Packet.h、および FileHandlerIn.h は Server.h に含まれています。他のヘッダー ファイルには、標準ライブラリ以外のものは含まれていません。
Server.cpp のすべての関数と Packet.h のすべての関数で、複数定義エラーが発生します。Packet.h 内に関数がある理由は、構造体が定義されており、Packet.h 関数はすべて構造体で動作するためです。これらの関数を正しく定義する方法について本当に混乱しているので、他の cpp ファイルで使用できます。これは私の問題の一部でしょうか?