使用递归生成斐波那契级数的静态向量用法 我是C++的新手。我试图写一个C++程序,通过有效地使用递归生成斐波那契数列。我写的程序如下- #include<iostream> #include<vector> class FibonacciDynamic { private: static std::vector<int> memo(index); int index; public: FibonacciDynamic(int a); int fib(int a); void display(); }; FibonacciDynamic::FibonacciDynamic(int a) { index = a; } int FibonacciDynamic::fib(int a) { if (a <= 2) { return 1; } else if(memo.at(a-1) != 0) { return memo.at(a-1); } else { memo.at(a-1) = memo[a - 2] + memo[a - 3]; return memo.at(a-1); } } void FibonacciDynamic::display() { for (int i = 0; i < index; i++) { std::cout << "Generating Fibonacci series..." <<std::endl; std::cout << fib(i) << std::endl; } } int main() { std::cout << "Please, enter the index" << std::endl; int a; std::cin >> a; FibonacciDynamic f(a); f.display(); return 0; }

使用递归生成斐波那契级数的静态向量用法 我是C++的新手。我试图写一个C++程序,通过有效地使用递归生成斐波那契数列。我写的程序如下- #include<iostream> #include<vector> class FibonacciDynamic { private: static std::vector<int> memo(index); int index; public: FibonacciDynamic(int a); int fib(int a); void display(); }; FibonacciDynamic::FibonacciDynamic(int a) { index = a; } int FibonacciDynamic::fib(int a) { if (a <= 2) { return 1; } else if(memo.at(a-1) != 0) { return memo.at(a-1); } else { memo.at(a-1) = memo[a - 2] + memo[a - 3]; return memo.at(a-1); } } void FibonacciDynamic::display() { for (int i = 0; i < index; i++) { std::cout << "Generating Fibonacci series..." <<std::endl; std::cout << fib(i) << std::endl; } } int main() { std::cout << "Please, enter the index" << std::endl; int a; std::cin >> a; FibonacciDynamic f(a); f.display(); return 0; },c++,vector,C++,Vector,由于所有的错误都与我使用的静态向量有关,我认为我没有正确地声明它;这就是为什么编译器不接受它作为向量&上面给出了错误。所以,请帮助并指导我在上述代码中正确使用向量。谢谢。静态标准::向量备忘录(索引); static std::vector<int> memo(index); 它声明了一个静态成员函数memo,获取一个index类型的单个(未命名)参数,并返回一个std::vector静态std::vector memo(index); 它声明了一个静态成员函数memo,获取一

由于所有的错误都与我使用的静态向量有关,我认为我没有正确地声明它;这就是为什么编译器不接受它作为向量&上面给出了错误。所以,请帮助并指导我在上述代码中正确使用向量。谢谢。

静态标准::向量备忘录(索引);
static std::vector<int> memo(index);
它声明了一个静态成员函数
memo
,获取一个
index
类型的单个(未命名)参数,并返回一个
std::vector

静态std::vector memo(index);
它声明了一个静态成员函数
memo
,获取一个
index
类型的单个(未命名)参数,并返回一个
std::vector

静态std::vector memo(index);
它声明了一个静态成员函数
memo
,获取一个
index
类型的单个(未命名)参数,并返回一个
std::vector

静态std::vector memo(index);
它声明了一个静态成员函数
memo
,获取一个
index
类型的单个(未命名)参数,并返回一个
std::vector

静态std::vector memo(index);
整数指数;
我不知道您希望它做什么,但是由于
索引
没有初始化,您当然不能用它来初始化
备忘录
。这里的内容实际上是声明一个静态函数(我怀疑这是您的意图)

为此使用静态向量可能不是最佳途径。如果要查找斐波那契序列中的第N个数,可以使用向量成员变量存储中间值,或者每次只需计算它。

static std::vector memo(index);
整数指数;
我不知道您希望它做什么,但是由于
索引
没有初始化,您当然不能用它来初始化
备忘录
。这里的内容实际上是声明一个静态函数(我怀疑这是您的意图)

为此使用静态向量可能不是最佳途径。如果要查找斐波那契序列中的第N个数,可以使用向量成员变量存储中间值,或者每次只需计算它。

static std::vector memo(index);
整数指数;
我不知道您希望它做什么,但是由于
索引
没有初始化,您当然不能用它来初始化
备忘录
。这里的内容实际上是声明一个静态函数(我怀疑这是您的意图)

为此使用静态向量可能不是最佳途径。如果要查找斐波那契序列中的第N个数,可以使用向量成员变量存储中间值,或者每次只需计算它。

static std::vector memo(index);
整数指数;
我不知道您希望它做什么,但是由于
索引
没有初始化,您当然不能用它来初始化
备忘录
。这里的内容实际上是声明一个静态函数(我怀疑这是您的意图)


为此使用静态向量可能不是最佳途径。如果要查找Fibonacci序列中的
N
th个数,可以使用向量成员变量存储中间值,或者每次仅计算它。

在实例化类之前存在静态数据成员。使用每个对象数据成员初始化一个对象可能无法工作。在实例化该类之前,静态数据成员已存在。使用每个对象数据成员初始化一个对象可能无法工作。在实例化该类之前,静态数据成员已存在。使用每个对象数据成员初始化一个对象可能无法工作。在实例化该类之前,静态数据成员已存在。使用每个对象数据成员初始化一个对象可能无法工作。
static std::vector<int> memo(index);
static std::vector<int> memo(index);
int index;