c++ - 将 Vector * 转换为 char *

标签 c++ pointers vector char

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

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

if(WordCmp(Word1,Word2)
{
    found = true;   
}

这是 WordCmp() 的函数头。

int WordCmp(char* Word1, char* Word2);

我收到的错误如下:

server.cpp:200: error: invalid conversion from 'const char*' to 'char*'
server.cpp:201: error: invalid conversion from 'const char*' to 'char*'

最佳答案

编译器告诉您,指针的类型是“指向成本字符的指针”,但您试图将其分配给指向(可变)字符的指针。

将前两行替换为

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

关于c++ - 将 Vector * 转换为 char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868905/

相关文章:

c++ - std::aligned_storage 的奇怪行为

c++ - 将 CMake 与多个编译器一起用于同一语言

c++ - std::find_if_not() 返回什么类型?

swift - 为什么要通过向量的 sqrt 创建单位向量

C++ 在字节 vector 和 wstring 之间转换

c++ - 我应该如何检测大型 C++ 项目中不必要的#include 文件?

c - 评估包含未初始化指针的条件 - IN,但它会崩溃吗?

c++ - 使用指针数组时编程 "has stopped working"

c - 赋值从指针生成整数,无需强制转换

c++ - 将作为参数传入的对象数组转换为 vector