当前位置:  技术问答>linux和unix

是什么导致程序编译错误?望达人指教

    来源: 互联网  发布时间:2015-12-11

    本文导语:  小弟写了一个简单的C程序,功能是从文本文件中提取符合条件的记录,我使用链表来存储这些记录。现在的问题是,程序在gcc下始终无法通过编译,报以下错误:(该代码可以在vc下正常编译运行,只是gcc编译通不过) ...

小弟写了一个简单的C程序,功能是从文本文件中提取符合条件的记录,我使用链表来存储这些记录。现在的问题是,程序在gcc下始终无法通过编译,报以下错误:(该代码可以在vc下正常编译运行,只是gcc编译通不过)
tjbillinputcash.c:33: error: parse error before '&' token
tjbillinputcash.c:70: error: parse error before '&' token
tjbillinputcash.c: In function `AddRecord':
tjbillinputcash.c:75: error: `pListHead' undeclared (first use in this function)
tjbillinputcash.c:75: error: (Each undeclared identifier is reported only once
tjbillinputcash.c:75: error: for each function it appears in.)
tjbillinputcash.c:78: error: `rec' undeclared (first use in this function)
tjbillinputcash.c:85: error: `pListTail' undeclared (first use in this function)

相关代码清单:
#include
#include
#include

/********************************************************************
 错误交易记录的结构,从日志文件中解析获得字段值
********************************************************************/
typedef struct REC
{
char loginname[20];
char serverip[15];
uint itemid;
struct REC* next;
}_REC;

/********************************************************************
 函数声明
********************************************************************/
int recCmp( const void* pvRec1, const void* pvRec2  );
void     AddRecord( struct REC*& pListHead, struct REC*& pListTail, REC& rec );//33行

int recCmp( const void* pvRec1, const void* pvRec2  )
{
……
}

void AddRecord( struct REC*& pListHead, struct REC*& pListTail, struct REC& rec ) //70行
{
          if( !pListHead ) // 如果列表为空  //75行
{
// 给列表创建第一个元素
pListHead = (struct REC*)malloc( sizeof(rec) ); //78行

strcpy( pListHead->loginname, rec.loginname );
strcpy( pListHead->serverip, rec.serverip );
pListHead->itemid = rec.itemid;
pListHead->next = NULL;

pListTail = pListHead; //85行
return;
}
         else
         {
                  ……
          }
         ……
}

int main( int argc, char* argv[] )
{
  ……
}



望达人指教,在线等

|
如果使用gcc编译器就不能使用c++语法里的引用。修改如下:
typedef struct REC
{
char loginname[20];
char serverip[15];
uint itemid;   ===================》换成unsigned int itemid;
struct REC* next;
}_REC;

void  AddRecord( struct REC*& pListHead, struct REC*& pListTail, REC& rec );//33行
改为
void  AddRecord( struct REC* pListHead, struct REC* pListTail, struct REC rec );//33行

void AddRecord( struct REC*& pListHead, struct REC*& pListTail, struct REC& rec ) //70行
改为:
void AddRecord( struct REC* pListHead, struct REC* pListTail, struct REC rec ) //70行

如果想使用c++语法里的引用的话,将tjbillinputcash.c文件改问tjbillinputcash.cc或tjbillinputcash.cpp 使用g++编译器

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux x86_64下由于拷贝gcc的lib目录导致gcc编译器出错
  • 请教关于交叉编译器导致的问题。。
  • 网站改版后导致URL改变如何设置301跳转的几种方法
  • 用date命令修改系统时间会导致关机?
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • recvfrom阻塞时间长了,会不会导致服务端程序不灵活?
  • HTML <!DOCTYPE> 标签用法详解及如何解决<!DOCTYPE html>未声明时导致页面无效的问题
  • 【求助】急:Fedora 9 SELinux 配置错误导致启动不了怎么办?
  • 程序导致ubuntu断网
  • 关于zookeeper服务器上运行其他程序时导致session expire
  • 误删libpcre.so.0,导致应用装不了、启动不了,怎么办
  • 等待大侠出手相救,在多线程程序中执行system函数导致CPU利用率不停的增长的问题。
  • [ODBC SQL Server Driver]连接占线导致另一个 hstmt--------100
  • linux网络模块什么时候会导致内核崩溃啊
  • etc下文件设置成777导致sudo命令不能用,求解决
  • 请教:pthread_join( )在等待一个已经退出的线程时为何会导致死锁?
  • 循环发送udp数据导致电脑脱网
  • 求助:函数getpeername()返回的namelen很小,导致获得名字失败是为什么?谢谢!!!
  • 安装Linux 9.0后,导致Win98下无法打开资源管理器的问题。
  • 升级gc3.2后,导致程序运行错误.大家聊聊.
  • 由于把resin设置为开机启动服务,导致不能进入Xwindow!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3