c++ - STL 显示输出

标签 c++ vector stl iterator

我不太确定我的代码有什么问题。我收到一条错误消息,指出“'.' 之前的预期不合格 ID”。 Travel.display() 中的 token

class Travel{
    vector <Business> lBusiness;
 public:
    void display();
    };
void Travel::display()
    {
            vector <Business>::iterator ptr;
            for(ptr=lBusiness.begin();ptr!=lBusiness.end();ptr++)
            {
                (*ptr).display();
            }
    }
int main{
        vector <Business*>addB;
        vector<Travel*>addA;
        int choice;
        cin>>choice;
         if(choice==1){
               Travel.display();
               }
    }

最佳答案

首先,你忘记了类定义后的分号。

class Travel{
    vector <Business> lBusiness;
 public:
    void display();
}; // <---

其次,Travel 是您类(class)的名称。由于 display 不是静态方法,您需要在类的实例上调用它:

 Travel travel;
 travel.display(); 

关于c++ - STL 显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33737354/

相关文章:

c++ - 如果共享内存的指针为空,则将其内容设置为空 c++

c++ - 如果类包含标准容器,我可以将类 move 操作标记为 noexcept 吗?

c++ - 非递归 Kosaraju 的两遍算法实现永远在大型数据集上执行

c++ - 静态库中的符号有时会链接到可执行文件中,有时不会

java - 游戏开发 : (Java & OpenGL) or (C++ & OpenGL & SDL)?

c++ - 定义运算符重载时删除 vector 的对象元素时出错

ios - 加速 : how do I add multiple vectors into an output vector of different size from the input vectors?

c++ - 使用过多内存的文件解析 (C++)

c++ - 最有用或最神奇的 STL 短衬里

c++ - std::make_shared、std::unique_ptr 和移动构造函数