【发布时间】:2011-08-06 00:54:06
【问题描述】:
我正在尝试开发一个带有函数的类,该函数可以将项目向量作为参数。
如果我使用 int 类型的向量或其他原语,我可以让它正常工作,但我不能让它与对象向量一起工作。
例如:
在我的头文件中:
int influenceParticles(vector<Particle> particles);
这是我所追求的,但不会编译(错误声明是"'Particle' was not declared in this scope")。
particle.h 文件已包含在此头文件的顶部。
澄清
这是给我错误的 .h 文件
#ifndef _PARTICLE_ATTRACTOR
#define _PARTICLE_ATTRACTOR
#include "ofMain.h"
#include "particle.h"
class ParticleAttractor {
//private
public:
ParticleAttractor(int posX, int posY); //constructor (void)
int influenceParticles(vector<Particle> particles);
};
#endif
【问题讨论】:
-
请剪切并粘贴您可以构建的显示错误的绝对最短的完整程序。提示:您应该能够将其减少到 6 或 7 行。
-
您的particle.h 文件是否还包含具有影响粒子的头文件?
-
如果确实是 std::vector,您可能应该直接包含 vector.h 并将 vector 限定为 std::vector。
-
@Slavik81: +1 关于向量的限定和需要包含标头,但它是
#include <vector>没有 h,h 从未在标准中,并且仅在编译器中允许用于向后兼容预标准代码。
标签: c++ class parameters vector arguments