Да я понимаю что здесь мешанина с++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
как вообще правильно делать такие преобразования?








