小编Kaz*_*azz的帖子

编译器错误如何追溯导致它的原因

如何在第一时间追溯导致编译器错误的原因?我的意思是我的代码中的哪一部分调用了该错误?

例如,我使用VS2017和默认编译器,我得到以下编译错误:

C2070   'unsigned char []': illegal sizeof operand | type_traits    1227
Run Code Online (Sandbox Code Playgroud)

哪个指向标准库头type_traits,但这是没有意义的,因为我不知道我的代码的哪一部分导致它,所以我如何跟踪它回到我的代码中的原始点?

现在我只看到一个选项,那就是系统地评论我的代码的一部分,直到我没有得到那个错误.必须有一些东西来跟踪它.

c++ compiler-errors

2
推荐指数
1
解决办法
39
查看次数

构造函数初始值设定项列表不遵循顺序

我有以下代码:

class Base
{
public:
    Base(int test) { std::cout << "Base constructor, test: " << test << std::endl; }
};

class Derived : public Base
{
private:
    int variable;

public:
    Derived() :
        variable(50),
        Base(variable)
    {}
};

Derived derived;
Run Code Online (Sandbox Code Playgroud)

我希望输出将是:“基本构造函数,测试:50”,但事实并非如此,因为Base构造函数在variable初始化之前被调用,没有错误或警告,它只是编译。

有什么办法可以让Base构造函数在之后被调用吗?或者这通常是糟糕的设计?

我试图通过将它们放入构造函数中来摆脱所有 init 方法及其调用,这种行为阻止我这样做。

c++ constructor derived-class

1
推荐指数
1
解决办法
78
查看次数

如何在 QT 应用程序中“WINAPI::GetLastError”?

为什么 QT 应用程序中的最后一个错误始终为零?

SetLastError(23);
qDebug() << "LastError: " << GetLastError();
Run Code Online (Sandbox Code Playgroud)

预期输出:LastError:23

实际输出:LastError:0

我无法用谷歌搜索任何关于这个问题的信息。QT 是否有这些功能?

c++ winapi qt

0
推荐指数
1
解决办法
507
查看次数

标签 统计

c++ ×3

compiler-errors ×1

constructor ×1

derived-class ×1

qt ×1

winapi ×1