vs中error c2065: “i”: 未声明的标识符怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs中error c2065: “i”: 未声明的标识符怎么解决相关的知识,希望对你有一定的参考价值。

bool find_dir_path(char *path,int len,int &pos,char *dir_name,dir &temp_dir)

while(get_dirname(path,len,pos,dir_name))

int temp_dir_size = temp_dir.size;
for(int i=2;i<temp_dir_size;i++) //因为目录项的前两个为当前目录和上一级目录,所以i从2开始

//在当前目录下查找文件名与下一个目录名相同且类型为目录的文件,把其读到temp_dir中
if(strcmp(dir_name,temp_dir.file_entry[i].name) == 0 &&
inode_table[temp_dir.file_entry[i].inode].i_mode == _DIRECTORY)

fseek(fd,inode_table[temp_dir.file_entry[i].inode].i_block,SEEK_SET);
fread(&temp_dir,sizeof(dir),1,fd); //temp_dir已经改变!!!
break;


if(i<temp_dir_size)//如果找到,则继续沿路径的目录往下找
pos++;
else

printf("给出的路径错误!\n");
return false;


return true;

参考技术A 把 i 的定义放到for循环上面试试

C语言错误 error C2059: 语法错误:“)”以及 错误error C2065: “sockaddr”: 未声明的标识符

学习编程碰到的问题我一般都写在自己记事本上,有一次硬盘莫名奇妙就坏了,就这样,我写下了我的第一篇博客,可能有点辣眼睛。如有不足之处请各位大佬多多指正。

今天在Socket,写完之后编译总是出现 一下错误,上图

//错误 2	error C2059: 语法错误:“)”	
//错误 1	error C2065: “sockaddr”: 未声明的标识符	

下面是代码

clientSocket=accept(SeverSocket,((sockaddr*)&cAddr),&len);//错误在这里
	if(SOCKET_ERROR==clientSocket)
	{
		printf("ERROR!\\n");
		//关闭Socket
		closesocket(SeverSocket);
		//清除协议信息
		WSACleanup();
		exit(1);
	}

我想了很久,总以为头文件的原因,后面我认真查看了sockaddr,发现是个结构体,于是搞笑局面的出现了

clientSocket=accept(SeverSocket,((struct sockaddr*)&cAddr),&len);

在Sockaddr前面加个struct就行了,然后前面的问题也解决了。

代码是用纯c写的,刚开始学,写的有点LOW。✧。٩()و✧*。

以上是关于vs中error c2065: “i”: 未声明的标识符怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

vs2010新建立的mfc工程编译就出错error C2065: “DWORD_PTR”: 未声明的标识符

error C2065: “cout”: 未声明的标识符

error C2065: “m_bFullScreen”: 未声明的标识

error C2065: “M_PI”: 未声明的标识符

奇怪的错误 C2065:“错误”:未声明的标识符

C语言错误 error C2059: 语法错误:“)”以及 错误error C2065: “sockaddr”: 未声明的标识符