C++ C++;错误:在';类别';

C++ C++;错误:在';类别';,c++,C++,当我编译我正在处理的程序时,我得到: “类”之前应为初始值设定项 我的Class.h文件中有错误。我在互联网上查找了错误消息,但找不到确切的错误,虽然类似的错误似乎是由于缺少分号造成的,但我不明白为什么需要分号。这是错误指向的代码,在此之前我没有其他函数或类 class Account { public: double dAccountBalance; double dAccountChange(double dChange); }; 在Class.cpp文件中定义了

当我编译我正在处理的程序时,我得到:

“类”之前应为初始值设定项

我的
Class.h
文件中有错误。我在互联网上查找了错误消息,但找不到确切的错误,虽然类似的错误似乎是由于缺少分号造成的,但我不明白为什么需要分号。这是错误指向的代码,在此之前我没有其他函数或类

class Account
{
    public:
    double dAccountBalance;

    double dAccountChange(double dChange);
};
Class.cpp
文件中定义了
double-dAccountChange(double-dChange)
函数。我不认为这是错误的来源,但这是代码

double Account::dAccountChange(double dChange)
{
    dAccountBalance += dChange;

    return 0.0;
}
当我把Class.h中的代码改成这样时

;
class Account
{
    public:
    double dAccountBalance;

    double dAccountChange(double dChange);
};
它不会生成错误消息,但我无法理解为什么在它前面需要分号,因为在它之前只有以下预处理器行代码

#ifndef CLASS_H_INCLUDED
#define CLASS_H_INCLUDED

关于产生错误的原因有什么想法吗?

问题出在另一个标题中,一个在
class.h
之前包含的标题中


如果您向我们显示主
cpp
文件的顶部,它可能会给出一个线索。

最有可能的是,在紧靠
class.h
之前包含的头文件中,您会看到如下内容:

class xyzzy {
    int plugh;
}
没有结束分号。这将使您的代码序列:

class xyzzy {
    int plugh;
}
class Account
{
    public:
    double dAccountBalance;

    double dAccountChange(double dChange);
};
这显然是无效的。在
class.h
的第一行之前插入分号可以解决问题,但显然放在了错误的位置(因为它意味着在第一行之后包含的每个头文件都需要一个起始分号,而且它是第一个头文件中定义的一部分,应该在那里)

现在,这可能不是确切的代码序列,但它将是非常相似的,根本原因将是前一个标题中缺少一段文本

您应该返回并将其放在前面的include文件中

例如,考虑:

include1.h:
    class xyzzy {
        int plugh;
    }
include2.h:
    class twisty {
        int little_passages;
    };
main.cpp:
    #include "include1.h"
    #include "include2.h"
    int main (void) {
        return 0;
    }
编译此文件将产生:

include2.h:3: error: multiple types in one declaration

但是,将分号放在
include1.h
的末尾(或者
include2.h
的开头,尽管我们已经确定这不是一个好主意)可以解决问题。

您的一个标题似乎缺少分号。您能粘贴准确的错误消息,并附上行号吗?因为我们这里缺少了一些东西。这个代码<代码>#include#include#include#include使用名称空间std#包括“Class.h”谢谢:是的,这些是完全标准的。因此,我们找错了地方:请编辑您的问题,以包含确切的编译器错误和警告,并填写行号。编译器仅显示错误消息;错误:第5行的
类帐户
代码中的“class”之前应为初始值设定项。我正在使用codeblocks GNU GCC编译器。对不起,前面的注释中有错误,在输入完之前意外地按下了输入。可能问题是在C++标准库中的“包含”文件中的一个?不是我写的.h文件,而是像和这样的文件。