У меня проблема с счетчиками. Не будем тратить время на то, и прямо к нему. Ошибка:Переопределение и перечислитель
1> forgelib\include\forge\socket.h(79): error C2365: 'RAW' : redefinition; previous definition was 'enumerator'
1> forgelib\include\forge\socket.h(66) : see declaration of 'RAW'
Код:
namespace Forge {
enum SocketType {
STREAM = SOCK_STREAM, // Sequenced, reliable, 2-way
DGRAM = SOCK_DGRAM, // Connectionless, unreliable
RAW = SOCK_RAW, // Raw protocol
RDM = SOCK_RDM, // Reliable-delivered message
SEQPACKET = SOCK_SEQPACKET // Sequenced, reliable, 2-way
};
enum ProtocolType {
IP = IPPROTO_IP, // IPv4
ICMP = IPPROTO_ICMP, // Internet Control Messsage Protocol
IGMP = IPPROTO_IGMP, // Internet Group Management Protocol
GGP = IPPROTO_GGP, // Gateway to Gateway Protocol
TCP = IPPROTO_TCP, // Transmission Control Protocol
PUP = IPPROTO_PUP, // PARC Universal Packet Protocol
UDP = IPPROTO_UDP, // User Datagram Protocol
IDP = IPPROTO_IDP, // Xerox NS Protocol
RAW = IPPROTO_RAW, // Raw IP Packets
IPV6 = IPPROTO_IPV6 // IPv6
};
}
Что это дает?
Так что я должен переименовать одну из них, несмотря на их, находясь в разных счетчиках? Как глупо это. Глупый язык. Спасибо. –
Нет, вам не нужно переименовывать их. Решение находится в его ответе. – Wilbert
@JesseBrands: Представьте, что язык примет вашу конструкцию, что бы строка 'int x = RAW;' точно? – PlasmaHH