gpt4 book ai didi

c++ - 接收到一个字符串 "chars"并尝试使用指针计算其中有多少个是同类的

转载 作者:行者123 更新时间:2023-11-28 07:47:02 27 4
gpt4 key购买 nike

我有这个接收一串“字符”的函数。我正在尝试遍历该字符串并使用指针来查看第二个元素是否与第一个元素相同。所以假设我有 aaabbccddd,我想写入一个数组,我有 3a、2 bs、2cs 和 3ds。我真的很难通过使用指针来确定第二个字符串是否与第一个字符串相同。我创建了这个临时指针并执行了 temp++。这基本上只显示了第二个学期之后的所有内容,依此类推...我如何单独查看第二个学期并将其与第一个学期进行比较。

void RLE<T>::Compress(const T* input, int inSize)
{

delete m_Data;
m_Size = 0;

T * m_Data;
m_Data = new T[inSize*2];


int runSize = MaxRunSize();

const T * temp;
temp = input;

temp++;

这里的这部分总是给我错误,它说我有一个错误的指针。我知道这基本上不起作用,因为我的输入指针比我创建的临时指针长。而且我的数组永远不会被初始化

    if  (temp == input)
{
std::cout<<"here"<<std::endl;
int number = 1;
number++;
m_Data[0] = number;
m_Size++;
std::cout<<temp;
m_Data[m_Size] = *temp;


}
}

任何帮助将不胜感激

最佳答案

一开始你的错误就对了吗?

delete m_Data;
m_Size = 0;

T * m_Data;

这是行不通的,因为此时 m_Data 是未定义的,除非按照命名,它也是一个成员,在这种情况下,您不应该重新定义它。

你应该这样做吗

if(temp[i] == temp[i+1]) //or something like that

代替

if  (temp == input)

关于c++ - 接收到一个字符串 "chars"并尝试使用指针计算其中有多少个是同类的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14720979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com