Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ .cpp文件在编译时看不到.h文件_C++ - Fatal编程技术网

C++ .cpp文件在编译时看不到.h文件

C++ .cpp文件在编译时看不到.h文件,c++,C++,我正在尝试为一个类编译一个单元,我已经将它拆分为一个.hpp和.cpp文件。这些文件称为player.hpp和player.cpp 我使用了命令g++-cplayer.cpp 这是player.hpp 定义玩家 ifndef播放器 包括 包括 职业选手 { 私人: 字符符号; std::字符串名; 公众: Playerchar符号,std::字符串名称; std::string makeMove;//提示播放器输入要进行的移动 } 恩迪夫 这是player.cpp 包括player.hpp 玩家

我正在尝试为一个类编译一个单元,我已经将它拆分为一个.hpp和.cpp文件。这些文件称为player.hpp和player.cpp

我使用了命令g++-cplayer.cpp

这是player.hpp

定义玩家 ifndef播放器 包括 包括 职业选手 { 私人: 字符符号; std::字符串名; 公众: Playerchar符号,std::字符串名称; std::string makeMove;//提示播放器输入要进行的移动 } 恩迪夫 这是player.cpp

包括player.hpp 玩家::玩家卡符号 { 这个->符号=符号; 此->名称=名称; } std::string Player::makeMove { std::字符串播放器移动; std::cout name在你的player.hpp中,include-guard中的行顺序不正确。它应该是:

#ifndef PLAYER
#define PLAYER

我认为您没有给我们提供足够的代码上下文。因此,最后一个错误应该通过交换2个标题来轻松解决。尽管您可能希望将include添加到player.hpp的顶部,但问题是提供一个。编译器每次都会变得更智能…它甚至建议您包含player.hpp和string。太棒了!@drescherjm Good point.S很抱歉。我包含了所有的代码,因为它们现在都是非常小和简单的文件。我实际上已经包含在了.hpp文件中,现在可以看到。很抱歉混淆了。是的,这似乎解决了它。多么愚蠢的错误。谢谢!