Да я понимаю что здесь мешанина с++11 и с++98(?)
Надо получить объединённую строку из параметров командной строки:
Сделал такой корявокод:
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
char * devicestr {}; //инициализация в стиле C++11 не ругайте, но так удобно
char * numstr {};
int port = 0;
string concated_string {};
cout << argv[0];
for (int i = 1; i < argc; i++) {
if (i + 1 != argc) {
if (0 == strcmp("--devicestr", argv[i])) {
devicestr = argv[i + 1];
} else (0 == strcmp("--port", argv[i])) {
port = std::stoi(argv[i + 1]);
} else if (0 == strcmp("--numstr", argv[i])) {
numstr = argv[i + 1];
}
}
}
std::string str1(devicestr);
std::string str2(numstr);
concated_string = str1 + ":"+ std::to_string(port) + "/"+str2;
cout << concated_string;
return 0;
}
Ошибка такая: Error call overloaded «to_string(int&)» is ambiguous
как вообще правильно делать такие преобразования?