源代码如下:
typedef struct _MIB_IF_ROW2 {
//
// Key structure. Sorted by preference.
//
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
//
// Read-Only fields.
//
GUID InterfaceGuid;
WCHAR Alias[IF_MAX_STRING_SIZE + 1];
WCHAR Description[IF_MAX_STRING_SIZE + 1];
ULONG PhysicalAddressLength;
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
ULONG Mtu;
IFTYPE Type; // Interface Type.
TUNNEL_TYPE TunnelType; // Tunnel Type, if Type = IF_TUNNEL.
NDIS_MEDIUM MediaType;
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
然后提示说error C2146: 语法错误 : 缺少“;”(在标识符“PhysicalMediumType”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
这个文件是怎么来的?我并没有定义它啊 还有这个错误是怎么改呢?
我用的是vs2008
希望大侠们不吝赐教 这里先谢谢了
另外,只有帮我解决到问题才给分,如果只是在别的地方转过来的话,我想大可不必了。
问题解决:缺少“;”(在标识符“PhysicalMediumType”的前面)
第1个回答 2013-03-21
把netioapi.h里的#include <ntddndis.h>改为#include "ntddndis.h"后就能通过编译了
第2个回答 2009-06-13
请确认NDIS_PHYSICAL_MEDIUM这个宏已被正确定义且被正确使用。本回答被网友采纳