Как скомпилировать код со структурой MIB_IPINTERFACE_ROW

Я пытаюсь скомпилировать код с Структура MIB_IPINTERFACE_ROW. Давайте включим следующий класс в мой рабочий код:

class IpInterfaceRow {
private:
MIB_IPINTERFACE_ROW mib_ipinterface_row;
};

При использовании Visual Studio 2015 я сталкиваюсь со следующими ошибками:
unknown override specifier (C3646) и
missing type specifier - int assumed. Note: C++ does not support default-int (C4430)

Что вы можете проверить здесь — C3646 а также здесь — C4430. На самом деле второй — больше предупреждение, что я мог бы выключить с #pragma warning, и я думаю, что это зависит от первого (так как компилятор не распознает MIB_IPINTERFACE_ROW, он пытается придать ему значение intотсюда и вторая ошибка) тогда я сосредоточусь на первой.

Я думаю, что это может быть проблема заголовков, которые я включаю / не включаю в неправильном порядке? Я перепробовал много вариантов:
#include <netioapi.h>, #include <iphlapi.h> и многое другое…
Например, из Вот, Я пытался использовать

#include <ws2def.h>
#include <ws2ipdef.h>
#include <iphlpapi.h>

но тот же результат … у меня та же проблема, если я пытаюсь использовать MIB_INTERFACE_TABLE. Я также попытался скомпилировать пример кода в GetIpInterfaceTable (), который имеет это включает в себя

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

#include <windows.h>
#include <winsock2.h>
#include <ws2ipdef.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <stdlib.h>

#pragma comment(lib, "iphlpapi.lib")

но опять тот же результат …

У кого-то есть представление о том, что может быть не так? Что может означать ошибка C3646 в моем случае?

-1

Решение

Следующее включает действительно работу

#include <winsock2.h>
#include <windows.h>
#include <ws2ipdef.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <stdlib.h>

#pragma comment(lib, "iphlpapi.lib")

В моем коде было два файла, включенных до этого, что дало мне проблему:

  • Первый включал iphlpapi.h (затем включенный перед ws2ipdef.h)

  • Второй включает netcfgx.h, который включает в себя windows.h (затем включается до winsock2.h)

В частности, обратите внимание, что другие заголовки, т.е. в моем случае netcfgx.h может включать в себя некоторые заголовки, т.е. windows.h и сделать заказ неправильно

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]