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;
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: “m_bFullScreen”: 未声明的标识
C语言错误 error C2059: 语法错误:“)”以及 错误error C2065: “sockaddr”: 未声明的标识符