【发布时间】:2015-01-05 16:55:06
【问题描述】:
我在 Windows 上编译代码时遇到问题。
在基于 Unix 的系统上一切正常,但是当我在 Windows 上编译它时(目前使用 Visual Studio 2010 Express),我收到以下错误:
错误 253 错误 C2146:语法错误:缺少 ';'在标识符“N0”之前 C:\ghost++\ghost\ohconnect.h 45
错误 254 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int C:\ghost++\ghost\ohconnect.h 45
错误 255 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int C:\ghost++\ghost\ohconnect.h 45
错误 256 错误 C2146:语法错误:缺少 ';'在标识符“N”之前 C:\ghost++\ghost\ohconnect.h 46
错误 257 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int C:\ghost++\ghost\ohconnect.h 46
等等。 我认为这都与我的头文件有关,该类本身是用来连接到 websockets 的:
#ifndef OHConnect_H
#define OHConnect_H
//
// OHCONNECT
//
class CTCPClient;
class CBaseGame;
class CCommandPacket;
struct OHCHeader {
unsigned header_size;
bool fin;
bool mask;
enum opcode_type {
CONTINUTATION = 0x0,
TEXT_FRAME = 0x1,
BINARY_FRAME = 0x2,
CLOSE = 8,
PING = 9,
PONG = 0xa,
} opcode;
uint64_t N0;
uint64_t N;
uint8_t masking_key[4];
};
在我的.cpp 文件中,我使用namespace std; 并包含<string> 仅用于Windows。
但到目前为止,这一切都没有奏效。我不想将整个文件放入问题中,因为它们实际上很长。
这是完整的来源:
Headerfile
Mainfile
我在这里做错了什么?
【问题讨论】:
-
#includeingstdint.h应该可以修复这些错误。
标签: c++ compiler-errors