Пиша междуплатформено приложение и трябва да предам argc
и argv
от Objective-C в Xcode към моя общ клас манипулатор на аргументи в C++. Имам глобален указател към този клас манипулатор, който задавам с команда new
, но тъй като не мога да направя new
в Objective-C, опитвам следното:
Имам заглавен файл, наречен MacCommandLineArgs.h
, който съдържа само следното:
static int cmdlArgc = 0;
static const char** cmdlArgv = NULL;
След това зададох тези от main.m
:
int main(int argc, char *argv[])
{
cmdlArgc = argc;
cmdlArgv = (const char**)argv;
return NSApplicationMain(argc, (const char **)argv);
}
След като влезете в секцията Objective-C++ на приложението, се опитвам да прочета обратно тези глобални променливи, за да ги предам на чистия C++ клас:
int argc = cmdlArgc;
const char** argv = cmdlArgv;
globalCommandLineArgs = new CCommandLineArgs(argc, argv);
Когато преминете през програмата за отстраняване на грешки, cmdlArgc
и cmdlArgv
се показват като валидни данни, но argc
и argv
все още са 0 и NULL след присвояването. Какво правя грешно тук?