类中vector的初始化问题

本文介绍了在C++类中初始化vector时遇到的编译错误,通过实例解析了错误原因和正确的初始化方式,包括使用{}、push_back()以及赋值运算符=。错误提示显示编译器将初始化语法误识别为函数定义,导致缺少参数声明的错误。通过改变初始化方式,可以避免此类问题。
摘要由CSDN通过智能技术生成

微信公众号:编程笔记本
微信公众号:编程笔记本
微信公众号:编程笔记本

点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏

今天分享一个在类中使用 vector 并初始化的小 trick 。

事情的起因是这样的:

在做牛客网的在线编程题时,一个小伙伴问我:“为什么我这里会报错啊?”

题目:

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 "go" 时,第一个只出现一次的字符是 "g" 。当从该字符流中读出前六个字符 "google" 时,第一个只出现一次的字符是 "l" 。如果当前字符流没有存在出现一次的字符,返回 "#" 字符。

class Solution
{
   
public:
    string str;
    int index = 0;
    vector<int> hash(256, 0);

    //Insert one char from stringstream
    void Insert(char ch)
    {
   
        str.push_back(ch);
        ++hash[ch];
    }

    //return the first appearence once char in current stringstream
    char FirstAppearingOnce()
    {
   
        for (int i = index; i < str.size(
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值