将Vector*转换为char*

Dan*_*ore 2 c++ pointers vector char

我将指针转换为向量时遇到问题char *.这是我的代码,我做错了什么?

char * Word1 = (*fileRead)[i].c_str();
char * Word2 =  dict[j].c_str();

if(WordCmp(Word1,Word2)
{
    found = true;   
}
Run Code Online (Sandbox Code Playgroud)

这是函数头WordCmp().

int WordCmp(char* Word1, char* Word2);
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

server.cpp:200: error: invalid conversion from 'const char*' to 'char*'
server.cpp:201: error: invalid conversion from 'const char*' to 'char*'
Run Code Online (Sandbox Code Playgroud)

dat*_*olf 5

编译器告诉你,指针的类型是"指向成本char的指针",但是你试图将它指向一个指向(可变)char的指针.

用.替换前两行

const char * Word1 = (*fileRead)[i].c_str();
const char * Word2 =  dict[j].c_str();
Run Code Online (Sandbox Code Playgroud)

  • 还将函数`WordCmp`的签名更改为`int WordCmp(const char*Word1,const char*Word2)` (2认同)