我有一个简单的日志宏,这是.h文件:
#ifndef __LOGGER_H
#define __LOGGER_H
#define LOG_ERROR(errorMsg) logError(__FILE__, __LINE__, errorMsg)
#endif
...这是.c文件:
#include <stdio.h>
#include "Logger.h"
void logError(const char* filename, int line, const char* errorMsg)
{
printf("[File : %s] - [Line: %d} - [Error Message : %s]\n", filename, line, errorMsg);
}
当我在.c文件中使用宏时:
#include <Common/Logger.h>
void func(int index, int value)
{
if (IsIndexOutOfRange(index, NUMBER_OF_PARAMS))
{
LOG_ERROR("Index out of range!");
return;
}
.
.
.
}
...和构建(vs2013)我得到: 警告C4013:&#39; logError&#39;不确定的;假设extern返回int
警告C4013通常表示您忘记包含正确的库或需要使用extern。我怀疑我需要extern以某种方式,但不知道如何使用宏来解决这个问题。
我该如何解决这个问题?