rc = daoMp.retrieveSystemData(argv[2]);
printf("rc = %d\n");
if (rc == 0) {
ErrLog("Mount point found\n");
printf("Mount point found\n");
return 4;
}
else {
ErrLog("Could not retrieve system data\n");
printf("Could not retrieve system data\n");
return -1;
}
Output: rc = -208814497
Mount point found
Почему, если проверка блока не удалась?
Вместо этого (который вы вызываете неправильно, один аргумент слишком короткий):
printf("rc = %d\n");
Сделай это:
std::cout << "rc = " << rc << '\n';
Таким образом, вы будете использовать правильный способ C++ сделать это (что сразу скажет вам что-то). printf()
наследуется от C и по своей сути небезопасно - ваша ошибка является ярким примером того, почему.
printf()
с одним слишком коротким аргументом - вы на самом деле не передаете rc
в функцию.
Я считаю, что у вас отсутствует второй параметр printf:
printf("rc = %d\n", rc);
printf("rc = %d\n");
должен быть printf("rc = %d\n", rc);