gpt4 book ai didi

c++ - 项目中无法识别代码块文件

转载 作者:行者123 更新时间:2023-11-28 06:00:33 26 4
gpt4 key购买 nike

我已经使用代码块很长时间了,但从未真正将我的程序变成实际的代码块项目。我今天尝试这样做,但由于代码块无法识别我的文件,我不断出错。这是我所拥有的:----> CodeBlocks Include Error

当我尝试构建我的项目时,我发现 cout、cin 和我的类对象未在我的 menu.cpp 文件中定义。所以我只能猜测代码块没有正确处理文件。

如果有人能帮我弄清楚为什么会这样,我会很高兴。

提前致谢:)

最佳答案

When I try to buiild my project I get that cout,cin and my class objects are not defined in my menu.cpp file.

那是因为他们不是。你#include d 都不是 iostream也不class.hmenu.cpp ,因此您无法访问其中的声明。

请注意,代码块(就像任何正确设置的构建工具一样)将分别编译每个 cpp 文件。这意味着它不仅会编译 menu.cpp 作为编译 main.cpp 的一部分(因为你包含了它),它还会自己编译它。在后一种情况下,main.cpp 中的包含将不可用,因此 menu.cpp 需要自己的包含。

这也意味着一旦它编译(即一旦你添加了包含),你会得到一个链接器错误,因为 menu.cpp 中的定义现在被定义了两次(一次在 main.o 中——因为你包含了菜单.cpp 在 main.cpp 中——一次在 menu.o 中)。这就是为什么你永远不应该将 cpp 文件包含到彼此中的原因。

PS:这与您的问题无关,但使用 using namespace 被认为是不好的做法在头文件中。你应该把它放在你的 cpp 文件中(如果你想使用它的话)。你还应该把 #include <iostream>在您实际需要它的那些文件中,而不是在头文件中。

关于c++ - 项目中无法识别代码块文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33367229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com