gpt4 book ai didi

c++ - 错误:使用 std::cout 在类范围内对非成员使用声明

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:36 26 4
gpt4 key购买 nike

我下载了一个 c++ 项目,并能够使用 cmake 生成的 makefile 对其进行编译。

但是,当我尝试在项目的一个 .hh 文件中添加我自己的一系列 .h 文件时,我开始遇到一百万个错误,其中之一是:

error: using-declaration for non-member at class scope using std::cout;

当.h文件包含using std::cout 在其他地方使用它可以工作,但是当添加到这个项目时它会给出这个错误。

可能是什么问题?

using std::cout;
using std::endl;
class TextManager : public FileManager {
public:
TextManager (const char * filename);
void scanFile (Image &image, Scene &scene);
void scanObjectModel (Image &image, Scene &scene);
void getImageData (Image &image);
void getMaterialData (Scene &scene);
void getLightData (Scene &scene);
void getSphereData (Scene &scene);
void getPlaneData (Scene &scene);
void getTriangleData (Scene &scene);
int getLineValue (int size);
void getLineValue2 (float (&lineNumbers) [10], Scene &scene, int &lineNumbersIndex);
void getVerticesValues (int initPos, Scene &scene);
private:
std::string line;
float fractionaryTenPowers [6];
};

问题解决了。是否缺少括号来关闭导致它的类之一的声明。

最佳答案

错误意味着你已经这样做了:

struct Foo {
using std::cout;
...
};

这不是有效的 C++,在类主体中您只能为基类的成员添加 using 声明,而不是任意名称。

您只能在命名空间范围内或函数体内添加 using std::cout

关于c++ - 错误:使用 std::cout 在类范围内对非成员使用声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33713597/

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