首页 > 解决方案 > 在 ADT(抽象数据类型)中使用类或在 C++ 中单独编译

问题描述

我刚开始使用单独的编译和 ADT,所以我创建了一个项目来了解如何创建不同类型的文件。我创建了三个文件
main.cpp(主文件)

#include "Interface.h" //include header file
#include <iostream>
#include <string>

using namespace std;

int main()
{
    hello();
    User user1;
}

Interface.cpp(函数所在的实现文件)

#include "Interface.h"
#include <iostream>
#include <string>
using namespace std;
void hello()
{
 cout << "Hello" << endl;
}

Interface.h(类、定义和数据变量所在的头文件)

#ifndef INTERFACE_H
#define INTERFACE_H
#include <string>

void hello();
class User
{
public:
    
    string name;
    int age;
};

#endif//INTERFACE_H


当我运行项目时,它给了我错误:
Build: Debug in FirstProject (compiler: GNU GCC Compiler) ===| C:\Users\FirstProject\main.cpp|14|错误:未在此范围内声明“用户”| ||=== 构建失败:1 个错误,0 个警告(0 分钟,4 秒)
,这指的是我创建 user1 的 main.cpp。
有人可以展示我如何在主函数中声明用户类。我直接从我的代码中复制并粘贴了代码。这是我创建的名为 FirstProject 的项目中的所有内容。

标签: c++scopecompilationadt

解决方案


你可以用这个替换:

          typedef struct User{
                       string name;
                       int age;
           }

推荐阅读