gpt4 book ai didi

c++ - 在模板方法中使用 typeid 时,如何摆脱 C4100 警告?

转载 作者:行者123 更新时间:2023-11-30 03:05:49 25 4
gpt4 key购买 nike

以下C++代码使用typeid打印出参数的运行时类:

#include <iostream>

class Foo
{
};

class Bar: public Foo
{
};

template <class O> void printTypeName(O& object)
{
std::cout << typeid(object).name();
}

int main(void)
{
Bar x;
printTypeName(x);
}

由于 Foo 不是多态的,VS C++ 不使用该对象来确定类型信息并引发

C4100 warning ("unreferenced formal parameter").

有什么方法可以消除警告,同时保留通过简单方法调用打印出对象类型的可能性?我宁愿不必禁用警告。

最佳答案

你可以使用

#pragma warning(disable : 4100)
//.. stuff
#pragma warning(default : 4100)

关闭警告,然后在完成后再次打开。

关于c++ - 在模板方法中使用 typeid 时,如何摆脱 C4100 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445315/

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