我只是使用VS2013来构建HEVC参考软件。在这里,我编写了一个C ++文件并想要构建它。但是,它始终表明“标识符“ Char”未定义”。
我也使用'UChar *',在VS2013中还可以,但是未显示'Char *'...
对此我感到困惑。可以请我吗?
谢谢!
我试图使用'Char *'在VS2013中定义字符串变量,但是,它返回了错误消息。...
void recordMBInfo(TComDataCU*& pcCU, SliceType sliceType)
{
Char* modeInfo;
Char* parSize = pcCU->getPartitionSize();
Bool* skipFlag = pcCU->getSkipFlag();
Char* preMode = pcCU->getPredictionMode();
UChar* puhDepth = pcCU->getDepth();
Char* phQP = pcCU->getQP();
modeInfo = new Char[pcCU->getTotalNumPart() + 1];
我的问题是'UChar *'在VS2013中是正确的,但是'Char *'返回了错误消息。我不确定这个原因。
答案 0 :(得分:3)
Char不是原始类型。我认为您可能会提到char。如果要使用Char,则必须定义Char的含义。也许您忘记了其中定义了Char的库。
答案 1 :(得分:1)
根据C ++标准,Char
,UChar
和Bool
均未定义为类型。
它们很可能是MFC或ATL之类的库的一部分,并且可能(您可以但希望)是typedef
,用于诸如char
,unsigned char
和{{ 1}}。
由于bool
和TComDataCU
都不都是C ++标准类,因此研究与该类相关的文档,以了解需要包含哪些其他标头可能是一个简单的例子。