【问题标题】:Calling a function in a project C++在项目 C++ 中调用函数
【发布时间】:2016-06-09 09:33:16
【问题描述】:

我的任务是从另一个文件调用函数,而不是在同一个脚本中编写所有内容。我必须从我的主脚本生成 2 个随机整数,然后将它传递给我的辅助函数计算它并在我的主脚本上显示结果。

假设值 p = 5, q = 3,边函数将计算总和: 33333 + 3333 + 333 + 33 + 3 = 总和

假设值 p = 3, q = 6,边函数将计算总和: 666 + 66 + 6 = 总和

我需要使用 c++11 随机引擎随机生成 20 组这样的值。我能够了解代码应该是什么样的要点,但我一直对如何传递函数值、保留函数值和计算最终值感到困惑。

以下是我的错误

    ||=== Build: Debug in lab5task1 (compiler: GNU GCC Compiler) ===|
    C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp||In function 'int main()':|
    C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp|29|error: expected primary-expression before 'int'|
    C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp|29|error: expected primary-expression before 'int'|
    ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

以下是我的代码:

主要代码

#include <iostream>
#include <random>
#include <ctime>

using namespace std;

int generate_integer(int, int );
int add_integers(int, int );



int main()
{
    mt19937 rand_generator;

    rand_generator.seed(time(0)); //random seeding using current time

    uniform_int_distribution<int> rand_distribution(1,9);



    for(int i=0; i<20; i++)
    {
        int rand_num1, rand_num2;
        rand_num1 = rand_distribution(rand_generator);
        rand_num2 = rand_distribution(rand_generator);
        cout << "1st parameter" << rand_num1 << "        "  ;
        cout << "2nd parameter" << rand_num2 << "        "  ;
        cout << "sum" << add_integers(int rand_num1,int rand_num2)<< endl;
    }
    return 0;
}

这里是辅助函数

#include <iostream>
using namespace std;

int generate_integer(int m, int n);

int add_integer()
{
    int sum = 0;
    int p,q;

    for(int i = p; i > 0; i--)
        {
            sum = generate_integer(i,q) + sum;
            cout << sum << endl;
        }
    return sum;

}

int generate_integer(int m, int n)
{
    for(int i = 0; i < m; i++)
        {
            cout << n;
        }
}

【问题讨论】:

  • add_integers() 的定义在哪里? add_integer() 不会是一个,因为它们有不同数量的参数。
  • 您已更改代码,使其不再产生您所询问的错误。请不要那样做。
  • 顺便说一句,“脚本”一词通常用于解释语言,但您拥有的是编译后的代码
  • @MikeKinghan 回滚。

标签: c++ arrays function c++11 random


【解决方案1】:

C++ 中的函数调用必须像 add_integers(rand_num1,rand_num2),而不是 add_integers(int rand_num1,int rand_num2)

【讨论】:

  • 在我更改后他们给了我类似的东西 'p' 在这个函数中使用未初始化 [-Wuninitialized]| 'q' 可以在此函数中使用未初始化 [-Wuninitialized]|
  • @teo93 警告已经告诉您:您使用了未初始化变量的不确定值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多