在Visual Studio中使用C ++类 - 未声明的标识符错误[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Visual Studio中使用C ++类 - 未声明的标识符错误[重复]相关的知识,希望对你有一定的参考价值。

我希望这非常简单,但不能为我的生活弄清楚什么是错的。我是C ++的新手,我在visual studio中创建了一个C ++类,并尝试在另一个文件的main方法中使用它。我把所有东西都剥离到了最低限度,但我仍然无法让它运行。我得到的第一个编译错误是'Test':未声明的标识符。如果我删除'测试测试;'从App.cpp它编译好。下面是代码。有人可以帮忙吗?

App.cpp:

#include "Test.h"
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <fstream>

using namespace std;

int main()
{
    Test test;
    //cout << test.getNumber() << endl;
    return 0;
}

Test.h:

#pragma once
class Test
{
private:
    int number;

public:
    int getNumber();
    Test();
    ~Test();
};

TEST.CPP:

#include "stdafx.h"
#include "Test.h"


int Test::getNumber()
{
    return number;
}

Test::Test()
{
    this->number = 1;
}


Test::~Test()
{
}
答案

问题是"stdafx.h"是预编译的。 Visual c ++不会在源文件中的#include "stdafx.h"之前编译任何内容,除非取消选中编译选项/Yu'stdafx.h'(默认情况下);它假设源中包含该行的所有代码都已编译。

解决方案是将其移动为第一个include

你可以在Precompiled header的wiki页面上阅读更多相关信息。

以上是关于在Visual Studio中使用C ++类 - 未声明的标识符错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

c++11(或更低版本)中 gcc __attribute__((unused)) 的 Visual Studio 等效项?

Visual Studio 2003 C#,结构编译错误

如何在 Visual Studio 2013 中使用 CDialog 类启用按钮的属性页

如何在 Visual Studio 中使用 QImage 而不制作 Qt 项目?

在 Visual Studio 中使用 C++ 类 - 未声明的标识符错误 [重复]

在Visual Studio2015中使用单元测试