gpt4 book ai didi

c++ - 没有命名类型错误(使用全局类)

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:15 24 4
gpt4 key购买 nike

我必须让我的类全局化(知道这不是一个好的风格,但我也想在其他函数中使用我的类)。

编译后我得到以下信息:error: ‘Test_Class’ does not name a type.

代码如下:

主要.cpp:

#include "class_header.h" 
#include "header.h"
Test_Class Test1, Test2, Test3;

int main(){

}

class_header.h:

#ifndef CLASS_HEADER_H
#define CLASS_HEADER_H

class Test_Class {
public:
int get_a() const;
int get_b() const;
private:
int test_a;
int test_b;
int test_c;
};

#endif // CLASS_HEADER

标题.h:

#ifndef HEADER_H
#define HEADER_H

extern Test_Class Test1, Test2, Test3;

void test_source(int a, int b);

#endif // HEADER_H

源代码.cpp:

 #include "header.h"

void test_source(int a, int b){

}

我在main中定义了类,所以我不明白错误信息。感谢您的帮助。

最佳答案

header.h 中的 extern Test_Class Test1, Test2, Test3; 行需要声明 Test_Class:当 source.cpp编译完毕

一种补救方法是在 source.cpp 的最开始处加入 #include class_header.h

关于c++ - 没有命名类型错误(使用全局类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734166/

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