我正在尝试使用Visual Studio 2012 Ultimate和C ++项目运行following示例。 我收到了很多错误。例如:
错误1错误C2146:语法错误:缺少&#39 ;;'在标识符之前' get_next_work_item'
在以下代码中:
#include <mpi.h>
#define WORKTAG 1
#define DIETAG 2
/* Local functions */
static void master(void);
static void slave(void);
static unit_of_work_t get_next_work_item(void);
static void process_results(unit_result_t result);
static unit_result_t do_work(unit_of_work_t work);
我想我错过了一个包含。为什么会出现这种错误?
答案 0 :(得分:2)
在这个example中你有:
#include <mpi.h>
#include <iostream>
#define WORKTAG 1
#define DIETAG 2
typedef int unit_of_work_t;
typedef int unit_result_t;
所以现在编译器无法识别您的unit_of_work
。所以,也许你应该考虑制作一个typedef
或包含一些额外的标题。
答案 1 :(得分:1)
这是因为编译器无法识别
unit_of_work_t
数据类型。可能你缺少这个头文件...