我在C ++中非常生疏,所以请原谅我任何愚蠢的评论/问题。现在我正在使用Microsoft Visual C ++ 2010 Express。我有两个文件 - 源文件和标题 - 当我包含它时,VS正在识别头文件,但它无法在头文件中找到任何定义。它显示'错误:标识符“RAW_PACKET_SIZE”未定义'。代码是作为样本提供的,可以使用设备的API,因此它应该可以工作。我假设问题出在VS设置上。这里有一些介绍代码形式:
recorder.cpp
#include <vector>
#include "APIW32.h"
#pragma comment(lib,"APIW32.lib")
int devID;
float* buf = new float[RAW_PACKET_SIZE]; // error is here, at 'RAW_PACKET_SIZE'
APIW32.h
#pragma once
#ifdef EXPORTS
#define API __declspec(dllexport)
#else
#define API __declspec(dllimport)
#endif
#define MIN_BW 0.301003456
#define MAX_BW 10100000
#define RAW_PACKET_SIZE 299008
更新
似乎错误只出现在Intellisense中,而不是实际构建错误。故事的道德 - 智能感知并不总是正确的!
答案 0 :(得分:2)
尝试float* buf = new float[RAW_PACKET_SIZE];