我正在声明某种类型的矢量;
std::vector<CBullet> m_vBullets;
我希望稍后返回矢量以分配给另一个矢量;
std::vector<CBullet> getVectorBullet()
{
std::vector<CBullet> c;
c = m_vBullets;
return c;
}
当我尝试将c
分配给m_vBullets
时,我收到以下错误;
2 IntelliSense: identifier "m_vBullets" is undefined
有什么理由?
答案 0 :(得分:3)
是的,它未定义。
假设m_vBullets是一个类成员,那么我想你要写的是
std::vector<CBullet> YourClassNameHere::getVectorBullet()
{
std::vector<CBullet> c;
c = m_vBullets;
return c;
}
显然将YourClassNameHere
替换为您的实际班级名称。
此功能也可以简化,它与
相同std::vector<CBullet> YourClassNameHere::getVectorBullet()
{
return m_vBullets;
}
在返回之前没有明显需要复制矢量,因为无论如何返回矢量都会复制它。