C++ c++;11创建通过向量迭代的对象实例

C++ c++;11创建通过向量迭代的对象实例,c++,c++11,vector,C++,C++11,Vector,我有一个带有“注册”类的向量列表 main.cpp // main.cpp: // from namespace::class3 bool successfulregistered = RegisterComponents(vector<CustomNamespace::class1,CustomNamespace::class2>); // implementation bool class3::RegisterComponents(vector&

我有一个带有“注册”类的向量列表

main.cpp

// main.cpp:
// from namespace::class3
bool successfulregistered = RegisterComponents(vector<CustomNamespace::class1,CustomNamespace::class2>);
        // implementation
        bool class3::RegisterComponents(vector<CustomNamespace>& RegisterComponents)
        {
            for(int i = 0; i < RegisterComponents.end(); i++)
            {
                class3::Objectinstance->iterator(*RegisterComponents);
                // and then some checks
            }
        }
class1.h

// in class3
    private:
        vector<CustomNamespace> Objectinstance;

    public:
        bool RegisterComponents(vector<CustomNamespace>& RegisterComponents);
ConfigWatchdog(string &SetJSONFile, const char &cJSONRoot);
ServerNetworking(unit& setIPAddress, ...);
class2.h

// in class3
    private:
        vector<CustomNamespace> Objectinstance;

    public:
        bool RegisterComponents(vector<CustomNamespace>& RegisterComponents);
ConfigWatchdog(string &SetJSONFile, const char &cJSONRoot);
ServerNetworking(unit& setIPAddress, ...);

尽管你的代码给了我一个WTF时刻,我想我能帮上忙<循环中的code>i是一个迭代器:

for(auto i = Objectinstance.begin(); i != Objectinstance.end(); i++)
您可以通过取消引用
i
-
*i
来访问元素。您可以复制并构造另一个
名称空间
(将其大写为
N
名称空间
是一个关键字,您不知道吗?)


问题不清楚,代码看起来不像可编译的C++(它混淆迭代器和索引,使用<代码>命名空间< /代码>作为类型名等)。请澄清你的问题并收紧代码来帮助我们回答问题。但是在列表中有两个不同的类,我如何才能改变?矢量;因此,当我使用I进行迭代时,它在每个连续性中都有另一个类,我只想调用它。
std::vector
只能有一种类型的元素。。。第二个模板参数是自定义分配器。我对示例进行了一些编辑,以使名称空间更加清晰。抱歉搞混了。:)所以
std::vectorListwithmycustomclasses
可能是一个包含一种类型元素的列表,或者不是?芜湖行,这已经很好了。但现在还不清楚如何访问其中的每个类并用迭代器调用它。你能编辑你的例子让我明白吗?你必须先编辑你的问题-我不知道
名称空间
类是什么样子。