'vector' 未在此范围内声明
'vector' was not declared in this scope
很抱歉提出了一个应该有简单解决方案的问题,但它让我抓狂。我检查了所有常见错误:名称空间标准、拼写、包含向量等。下面是我的 video.h 文件的缩写代码。
#include <iostream>
#include <string>
#include <new>
#include <vector>
using namespace std;
class Video
{
public:
Video(string, string, string, float, int);
vector<Video*> video_ptrs;
void print();
};
这是我的 main.cpp
的代码
#include "video.h"
using namespace std;
int main()
{
...
Video* temp_here = new Video(title, url, comment, length, rating);
video_ptrs.push_back(temp_here);
return 0;
}
returns 表示的错误,“'video_ptrs' 未在此范围内声明。”提前感谢您提供的任何帮助。
video_ptrs
是Video
的成员,用刚创建的对象调用它:
Video* temp_here = new Video(title, url, comment, length, rating);
temp_here->video_ptrs.push_back(temp_here);
不过,这会向同一对象的 vector
添加一个指针 temp_here
,但我不确定这是否有意。
video_ptrs 确实没有在 main 中声明。你应该使用
temp_here->video_ptrs...
很抱歉提出了一个应该有简单解决方案的问题,但它让我抓狂。我检查了所有常见错误:名称空间标准、拼写、包含向量等。下面是我的 video.h 文件的缩写代码。
#include <iostream>
#include <string>
#include <new>
#include <vector>
using namespace std;
class Video
{
public:
Video(string, string, string, float, int);
vector<Video*> video_ptrs;
void print();
};
这是我的 main.cpp
的代码#include "video.h"
using namespace std;
int main()
{
...
Video* temp_here = new Video(title, url, comment, length, rating);
video_ptrs.push_back(temp_here);
return 0;
}
returns 表示的错误,“'video_ptrs' 未在此范围内声明。”提前感谢您提供的任何帮助。
video_ptrs
是Video
的成员,用刚创建的对象调用它:
Video* temp_here = new Video(title, url, comment, length, rating);
temp_here->video_ptrs.push_back(temp_here);
不过,这会向同一对象的 vector
添加一个指针 temp_here
,但我不确定这是否有意。
video_ptrs 确实没有在 main 中声明。你应该使用
temp_here->video_ptrs...