gpt4 book ai didi

C++: 语法错误 C2061: 标识符

转载 作者:太空宇宙 更新时间:2023-11-04 14:07:12 26 4
gpt4 key购买 nike

我有一个非常奇怪的问题。

在我的标题“compier.h”中,我有以下原型(prototype):

void WriteMap(FILE *outfile,clsMapping &uMap);

在cpp中我是这样声明的:

void CCompiler::WriteMap(FILE *outfile,clsMapping &uMap)
{
int iSize = uMap.Content().size();
fwrite(&iSize,sizeof(int),1,outfile);

int iOffset=uMap.iOffset;

fwrite(&iOffset,sizeof(int),1,outfile);

vector<udtMapping>::iterator it = uMap.Content().begin();
int n = 0;
for (;it != uMap.Content().end(); ++it)
{
fwrite( &it->ByteStart, sizeof(int), 1, outfile);
fwrite( &it->ByteCount, sizeof(int), 1, outfile);
}
}

编译器告诉我 “语法错误 C2061:标识符‘clsMapping’。它告诉我:

该声明与“void CCompiler::WriteMap(FILE *outfile, &uMap)”(在“m:\app\compiler.h”的第 30 行中声明)不兼容。

clsMapping 在 header “structures.h”中声明:

class clsMapping
{
private:
vector<udtMapping> m_content;

protected:

public:
vector<udtMapping> &Content();
void Add(int i1, int i2);
int iOffset;
void FeedFeaturesFromMap(udtFeatures &uFeatures,int uIndex);
};

我在 compiler.h 中声明了

#include "structures.h"

我是否忽略了一个拼写错误,还是更严重的问题?

谢谢你的帮助。

最佳答案

#include "structures.h"

必须同时添加到 cpp 和 h 文件中。

关于C++: 语法错误 C2061: 标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16397230/

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