gpt4 book ai didi

c++ - 编译时添加了奇怪的字符,导致错误

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

使用 Visual Studio Express 2013 编译项目时,出现此错误

....\WDL\IPlug\IPlugVST3.cpp(199): error C2065: 'Lp' : undeclared identifier [D:\wdl-ol\IPlugExamples\MyFirstPlugin\MyFirstPlugin-vst3.vcxproj]

奇怪的是,IPlugVST3.cpp 文件不包含 Lp 而只包含 p:

 switch (p->Type())
{
case IParam::kTypeDouble:
case IParam::kTypeInt:
{
Parameter* param = new RangeParameter( STR16(p->GetNameForHost()), // <---- this line
i,
STR16(p->GetLabelForHost()),
p->GetMin(),
p->GetMax(),
p->GetDefault(),
0, // continuous
flags,
unitID);

param->setPrecision (p->GetPrecision());
parameters.addParameter(param);

为什么 C++ 编译器将它理解为 Lp 而不是 p

注意:我检查了是否没有隐藏的 unicode 字符(这存在吗?)但是没有...

最佳答案

STR16 很可能是一个需要字符串文字作为参数的宏,例如

#define STR16(s) L##s

或类似的东西。如果你传递一个变量而不是字符串文字,那么你会得到类似于你正在观察的问题的东西。

关于c++ - 编译时添加了奇怪的字符,导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726241/

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