Инициализация строки c ++ с помощью argv

У меня есть функция, которая принимает строку стиля C ++. Я хочу либо поставить argv[1] в строку C ++, или просто передать ее непосредственно в мою функцию.

#include <iostream>
#include <string>
using namespace std;

string  rev (string &reverse);

int main(int argc, char argv[])
{
if (argc != 2)
cout << "Bad Input" << endl;
string reverse = argv[1];
cout << rev(reverse) << endl;
}

Это то, что я до сих пор, но когда я делаю это, я получаю следующую ошибку:

8.4.cpp: In function ‘int main(int, char*)’:
8.4.cpp:11: error: invalid conversion from ‘char’ to ‘const char*’
8.4.cpp:11: error:   initializing argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’

0

Решение

Исправить основной

int main(int argc, char argv[])

// should be

int main(int argc, char  *    argv[])
///            ^^^^^
5

Другие решения

Как уже упоминалось argv[] является указателем на блок памяти или «указателем на указатель».
Вам просто нужно добавить * в argv[] чтобы сделать его таким.

Быстрый Google поднял ЭТОТ

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector