c++ - 使用返回的 vector

标签 c++ if-statement vector compiler-errors std

<分区>

我的程序中有一个类用于从文件中读取文本,将其存储为字符串 vector ,然后将该 vector 返回给调用它的函数。

然后在该函数中,我尝试访问 vector 拷贝的元素以比较值。

看起来有点像这样:

文件处理器.h

class fileHandler
{
public:
    std::vector<std::string> static ReadFromFile(std::string filename);

private:
    std::vector<std::string> blockOfText;
};

文件处理程序.cpp

std::vector<std::string> fileHandler::ReadFromFile(std::string filename)
{
//code to read file line by line and put into blockOfText

return blockOfText;
}

Assets 加载器.cpp

void assetLoader::LoadFromExternalFile(std::string filename)
{
//Load the assets into the asset array
unsortedAssetText = ReadFromFile(filename);

//Iterate over the array
lineNumber = 0;
while (lineNumber < unsortedAssetText.size())
{
    if (unsortedAssetText[lineNumber] = "player")
    {

    }
}

然后,当我尝试构建我的程序时,出现以下错误,我不知道这意味着什么,更不用说知道如何解决问题了。有人能帮忙吗?

error: could not convert '(&((assetLoader*)this)->assetLoader::unsortedAssetText.std::vector<_Tp, _Alloc>::operator[]<std::basic_string<char>, std::allocator<std::basic_string<char> > >(((assetLoader*)this)->assetLoader::lineNumber))->std::basic_string<_CharT, _Traits, _Alloc>::operator=<char, std::char_traits<char>, std::allocator<char> >(((const char*)"player"))' from 'std::basic_string<char>' to 'bool'|

最佳答案

=是赋值运算符,比较运算符是==:

if (unsortedAssetText[lineNumber] == "player")
//                                ^^

关于c++ - 使用返回的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27431712/

相关文章:

if-statement - 在 fish shell 中,如何在 if 语句中放置两个条件?

java - 使用 if 与单选按钮和文本一起归档?

c++ - 如何将 std::vector::emplace_back 用于 vector<vector<int>>?

c++11:使用 vector 的元素调用可变参数函数

c++ - Google 测试框架中的可复制模拟

java - Java中If/Else语句的使用考虑内存IO

r - 选择向量中除 dplyr 管道中的一个元素之外的所有元素

c++ - 为什么 std::cout 在我的输出中添加回车符或换行符?

c++ - std::variant的参数归纳

c++ - 从字符串中取出整数 C++