调用项目中的函数C++

问题描述:

我负责从另一个文件中调用函数而不是在同一个脚本中编码所有内容的项目。我必须从我的主脚本生成2个随机整数,然后将其传递给我的功能计算它,并显示结果在我的主脚本。调用项目中的函数C++

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

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

我需要随机生成20组这样的值使用c + + 11随机引擎。我能够获得代码假设是如何的基本要点,但我一直对如何传递函数值,保留函数值和计算最终值感到困惑。

下面是我的错误

||=== 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; 
     } 
} 
+0

add_integers()'的定义在哪里? 'add_integer()'不会是一个,因为它们有不同数量的参数。 – MikeCAT

+1

您已更改代码,以免它再产生您询问的错误 。请不要这样做。 –

+0

btw术语“脚本”通常用于解释型语言,但您拥有的是编译后的代码 – user463035818

功能的C调用++必须像012一样,而不是add_integers(int rand_num1,int rand_num2)

+0

他们给了我这样的东西后,我改变了 'p'在这个函数中未初始化使用[-Wuninitialized] | 'q'可能在此函数中未初始化时使用[-Winitialized] | – teo93

+0

@ teo93'add_integer()'的定义是错误的。 – MikeCAT

+0

你是什么意思,这是错的? – teo93