我整个上午都在我的CS辅导实验室度过了他们没有帮助,所以我希望那里的人可以轻推我。我必须使用这个课程。
#ifndef WORD_H
#define WORD_D
#include <iostream>
class Word
{
private:
char* ptr_;
int len_;
public:
Word(const char* word);
~Word();
char GetFirstLetterLower();
char* GetWord();
};
#endif WORD_H
我已经创建了一个指针数组,用于存储另一个数组的指针。
g_wordArray = new Word *[g_arrSz];
//g_arrSz is the length all arrays need to be
现在我需要创建一个长度为G_aarSz的第二个Word类数组。
导师一直试图让我使用
Word secondArray[g_arrSz];
但这不起作用,因为长度不是常数。
我也试过这个
Word* secondArray = new int[g_arrSz];
但没有运气。
提前感谢您的帮助。
答案 0 :(得分:0)
你快到了。你需要做的是创建一个数组,但是不是int的数组。
所以而不是
def something[A, B, F[_]: Functor](f: A => B, x: A)
你需要这样做:
Word* secondArray = new int[g_arrSz];
做这种老式数组通常是一个坏主意,除非这是一个学习的例子或某些特定情况,你应该使用std容器来创建你的数组。例如,看看std :: vector或std :: array。使用vector,你可以像这样声明你的Word数组:
Word* secondArray = new Word[g_arrSz];
答案 1 :(得分:0)
你可以创建一个没有默认构造函数的对象向量 - 显然你不能用默认的构造对象填充它。
例如:
std::vector<Word> words;
for (int i = 0; i < g_arrSz; ++i)
words.emplace_back("bob");