Когда я пытаюсь это сделать:
string msm_arg1;
...
if (msm_arg1 = "--console" )
run_console();
Я получаю:
res/functions/ReadArgs.h|40|error: could not convert ‘msm_arg1.std::basic_string<_CharT, _Traits, _Alloc>::operator= [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>, std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>](((const char*)"-c"))’ from ‘std::basic_string<char>’ to ‘bool’|
То, что я вижу, это то, что он пытается сравнить строку (msm_arg1) с bool, чего явно не является "--console".
Я вижу один из возможных способов: создать строку для сравнения, но с множеством возможных аргументов CLI, которая может стать грязной.
Я использую Code :: Blocks в Ubuntu 11:10 с gcc по умолчанию.