Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

[C++] Программа выдает ошибку.

  • Автор темы Автор темы Sem14ko
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
7 Апр 2018
Сообщения
8
Реакции
0
Выдает ошибку:
использована неинициализированная локальная переменная "fs"
использована неинициализированная локальная переменная "sz"
Код:
Код:
Expand Collapse Copy
unsigned int drive_type = GetDriveType(NULL);

    char VolumeNameBuffer[100];
    char FileSystemNameBuffer[100];
    DWORD sz, fs;
    unsigned long drive_sn;
    GetVolumeInformationA(
        NULL,
        VolumeNameBuffer,
        100,
        &drive_sn,
        (LPDWORD)sz,
        (LPDWORD)fs,
        FileSystemNameBuffer,
        100
    );
    cout << "Volume serial number:\t";
    if (drive_sn == 1018821877)     //сравниваем серийный номер
        cout << "correct" << endl;
    else
        cout << "invalid" << endl;
    cout << "Drive type:\t";
    if (drive_type == DRIVE_REMOVABLE)
        cout << "correct" << endl;
    else
        cout << "invalid" << endl;
getch();
Помогите пофиксить!
 
по факту: отключи проверку безопасности( создание кода -> проверка безопасности )
 
по факту: отключи проверку безопасности( создание кода -> проверка безопасности )
он забыл инициализировать переменные fs и sz
 
по факту: отключи проверку безопасности( создание кода -> проверка безопасности )
Тоесть не присвоил им переменные.
 
он забыл инициализировать переменные fs и sz
почитай, потом говори:
Пожалуйста, авторизуйтесь для просмотра ссылки.

 
он забыл инициализировать переменные fs и sz
 

Тоесть не присвоил им переменные.
переменным присваивать переменные?
бред же несешь;)
 
Всеровно выдает ошибку.
Пожалуйста, авторизуйтесь для просмотра ссылки.

ka7eo8
 
Последнее редактирование:
DWORD sz = NULL, fs = NULL;
 
Не уверен, что каст DWORD к LPDWORD работает у тебя правильно. Кроме того, что переменным надо присвоить 0, так же надо использовать & вместо (LPDWORD). Чтобы получилось так:
GetVolumeInformationA( NULL, VolumeNameBuffer, 100, &drive_sn, &sz, &fs, FileSystemNameBuffer, 100 );
 
Не уверен, что каст DWORD к LPDWORD работает у тебя правильно. Кроме того, что переменным надо присвоить 0, так же надо использовать & вместо (LPDWORD). Чтобы получилось так:
Благодарю!
 
Назад
Сверху Снизу