我有这个有趣的情况。
我有一堆包含字符串的结构。
struct foo
{
string mStringName;
}
vector<foo> mFoos;
我还有一个字符串引用队列
queue<string&> mStringQueue;
最后,我有一个接受 const string& 的函数
void Bar(const string&);
情况如下。
//...in some loop
currentFoo = mFoos[index];
// Queue up the string name.
mStringQueue.push(currentFoo.mStringName);
//...Later on, go through our queue and pass each one to the function.
for (int queueIndex = 0; queueIndex < mStringQueue.size(); queueIndex++)
{
Bar(mStringQueue.front());
mStringQueue.pop();
}
这给了我以下编译错误:
错误 C2664:“std::queue<_Ty>::push”:无法将参数 1 从“String”转换为“String &(&)”
我很难将注意力集中在字符串引用和诸如此类的东西上,所以任何帮助将不胜感激