gpt4 book ai didi

c++ - 以下代码在 VS 2013 Release/Debug 中产生不同的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:16:49 26 4
gpt4 key购买 nike

<分区>

这是 VS 2013 编译器中的错误吗?
以下代码在调试和发布时会产生不同的结果。
在调试中结果符合预期,但在发布中它是“A”

#include <cstdio>

struct A
{
virtual void* getClass() { return A::ID; };
static void ID(){};
};

struct B : public A
{
virtual void* getClass() { return B::ID; };
static void ID(){};
};

struct C : public A
{
virtual void* getClass() { return C::ID; };
static void ID(){};
};


int main(int argc, char *argv[])
{
A* d = new C;

if (d->getClass() == A::ID)
{
printf("A");
}
else if (d->getClass() == B::ID)
{
printf("B");
}
else if (d->getClass() == C::ID)
{
printf("C");
}

}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com