我有一个采用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 :(得分:5)
修复主要
int main(int argc, char argv[])
// should be
int main(int argc, char * argv[])
/// ^^^^^
答案 1 :(得分:0)
如上所述,argv[]
是一个指针,一个内存块,或一个“指向指针的指针”。
您只需将*
添加到argv[]
即可使其成为此类行为。
Google快速提出THIS