如何使用 void() 函数在 C++ 中打印向量?

How to use a void() function to print a vector in c++?

我有一个函数可以计算 1 - 100 之间的数字的平方。我想使用另一个函数来打印结果。我想知道如何使这样的函数不仅适用于向量而且适用于任何类型。

这是我目前的情况:

#include <iostream>
#include <iomanip>
#include <cmath>
#include <vector>

using namespace std;

vector<double> Sqrs(int val, double sqr, vector<double> result){

for(val = 1;val < 100;val++){
    sqr = sqrt(val);
    result.push_back(sqr);
}
return result;
}
void Print(int val, vector<double> result){
    for(unsigned int i = 0;i < result.size();i++){
        cout << val << setw(10);
        cout << &result << endl;
    }
}
int main()
{
    Print();
    return 0;
}

问题是它说我对 Print(); 的争论太少了。我不知道要输入什么参数,因为当我输入 valresultint val, vector<double>result 时,会出现很多错误。我只是不知道如何制作一个单独的函数来打印我在 main.

以外的另一个函数中使用过的东西

编辑:看来我问的问题很愚蠢。例如,我想知道我有一个函数可以计算 2 个名为 int val (int a, int b) 的数字,而该函数 returns 的值 "c"。所以现在我想创建另一个名为 Print 的函数,并使用另一个函数 val 的返回值,这样我就可以打印它了。然后在主函数中我会调用 Print() 函数。

您的程序的最高级别的英文简短翻译是:

  • 这是我要使用的库。
  • 这就是我的意思,如果我让你用 intdoublevector<double>
  • Sqrs
  • 这就是我的意思,如果我让你用 intvector<double>
  • Print

最后,您实际告诉程序要做的事情是

  • Print一无所有
  • 输出0

如您所见,这段代码看起来与您描述的任何内容都不相似。在担心尝试编写非常通用的代码之前,您应该先尝试正确处理特殊情况。

#include <iostream>
#include <cmath>
#include <iomanip>
#include <vector>

using namespace std;

vector<double> myFunc(int x, vector<double> &vec){
        double rez = 0.0;
        for(int i = 0;i < 100;i++){
                rez = sqrt(x);
                vec.push_back(rez);
                x++;
        }
        return vec;
}
void Print(vector<double> &vec){
        for(int i = 0;i != vec.size();i++){
                cout << vec[i] << endl;
        }
}
int main()
{
        vector<double> vec1;
        myFunc(1, vec1);
        Print(vec1);
        return 0;
}

这就是我想做的。