【发布时间】:2015-07-14 15:14:38
【问题描述】:
这是一个最小的代码示例
我正在尝试创建一个要查找的子字符串数组,以便我可以用一个单词替换它们。在这种情况下,我将普通问候语改为简单的“嗨”。
问题是当我运行代码时出现错误。
错误:没有匹配的函数可以调用 'std::vector >::push_back(const char [4], const char [4], const char [3])'
如果有人可以帮助我理解为什么会发生此错误并提出一个完美的解决方案。
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <ctime>
#include <vector>
vector<string> hiWord;
hiWord.push_back("hey", "sup", "yo");
for (const auto& word : hiWord){
while (true) {
index = r.find(word);
if (index == string::npos)
break;
r.replace(index, word.size(), "hi");
}
}
【问题讨论】:
-
代码很难阅读,请格式化。
-
指定问题,以便清楚您想要做什么。
-
这是一个练习吗?还是最小的(代码)示例?照原样,这个问题可能有很多答案,但没有一个很有意义。例如,计算字符串中的单词数并多次返回“hi”也适用于您的示例。
-
这是一个最小的代码示例。
标签: c++ vector replace substring