> > > myFreakingLongVectorThing; 我收到如下警告: C:\Program Files -6ren">
gpt4 book ai didi

c++ - 如何解决 Visual C++ 200 5's "修饰名称长度超出,名称被截断“警告?

转载 作者:IT老高 更新时间:2023-10-28 22:35:29 28 4
gpt4 key购买 nike

例如,假设我有一段代码看起来像这样:

mutable std::vector<std::vector<std::vector<std::vector<
std::vector<MyNamespace::MyType> > > > > myFreakingLongVectorThing;

我收到如下警告:

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\xstring(1665) : warning   
C4503: 'std::vector<_Ty>::operator []' : decorated name length exceeded, name was truncated
with
[
_Ty=std::vector<std::vector<std::vector<std::vector<std::vector<MyNamespace::MyType>>>>>
]

有没有什么办法可以重写那个该死的长 vector 来避免收到警告?我仍然希望数据结构相同,但没有收到警告。我不想禁用警告。可能吗?

注意:这是 Visual Studio 2005

....如果你真的很好奇我为什么要使用如此可怕的数据结构,那是由自动生成的代码引起的。

最佳答案

如果您不想看到警告,则必须禁用它或使用更新的编译器。

警告是关于类型名称的调试信息限制为 255 个字符。只要这 255 个字符对于两种不同的类型相同,就可以了。如果它们是相同的,你无论如何也做不了太多!

在你可以升级编译器之前把它关掉!

关于c++ - 如何解决 Visual C++ 200 5's "修饰名称长度超出,名称被截断“警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880045/

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