“预期标识符或'('之前')'令牌”错误的可能原因是什么?

时间:2015-06-09 16:50:59

标签: c function-declaration

关于这个问题,我已经看了很多关于堆栈的帖子。它几乎总是一个简单的分号错误,或括号/括号不匹配。我不相信我的程序就是这种情况。我对这个特殊功能有问题:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>

static char *macro_buf;
static unsigned int macro_buf_len;

static char *init_buf() {
    if (macro_buf == 0) {
        macro_buf_len = 200;
        macro_buf = (char *) malloc(sizeof(char) * macro_buf_len);
        macro_buf[0] = '\0';        
    }
    return macro_buf;
}

错误报告函数定义的第一行。有趣的是,如果我删除这个功能,一切都编译好并正常运行!我已经检查过任何特殊的隐形字符,我已经重写了几次但无济于事。有什么明显的东西我不见了吗?

编辑: 更改我的功能名称后,一切都很好。我想假设这可能是我的一个头文件中已定义的函数?

编辑: 我忘了我使用的是同名的宏。

#define init_buf....

谢谢你们!这是我的第一个超过1000行的项目,而且管理起来非常困难。我现在不会忘记这个错误!

0 个答案:

没有答案