在类定义结束时缺少大括号时,C ++类头文件中没有错误消息?

时间:2016-04-19 11:21:45

标签: c++

我刚刚花了两个小时试图弄清楚为什么我的程序中有如此多的错误消息,结果发现我忘记在我的一个类头文件的末尾添加一个右括号。所以我的问题是:为什么我的头文件中没有收到关于此问题的任何错误消息,因为我收到了一些关于由于其他其他的错误支撑而发生的错误的消息em>项目文件?如果有人可以用初学者可以理解的那些方式向我解释这个很好:)

干杯

2 个答案:

答案 0 :(得分:3)

是的,它发生了。包含文件只是文本,它们不需要包含有效的自包含代码。您可以将#include视为复制粘贴。你可能有

的main.cpp

#include "a.h"
#include "b.h"

A.H

int main() {

b.h

   return 0;
}

答案 1 :(得分:0)

在你的情况下,我想你定义了几个类,比如这个例子:

chrome.contextMenus.create({
    title: "Your title here",
    contexts: ["browser_action"],
    onclick: function() {
        console.log("click");
    }
});

当编译器开始阅读B类的描述时,没有任何错误需要注意,因为你的类B被视为嵌套类,就像在这个正确的例子中一样:

class A
{
  public:
    A() {}
    ~A() {}
    void do_something();
// missing };

class B
{
  public:
    B() {}
    ~B() {}
    void do_something_other();
};

然后,编译器不可能知道你想做什么,以及嵌套了哪个类。

当然,在某个时刻,你有一个错误。至少关闭括号的数量。但更有可能的是,在类描述中禁止部分代码。这就是为什么错误可能很奇怪。