我想要输出的是经销商的滚动(数字应该存储在一个数组中)但我仍然收到int
中DealerRoll(dealerRoll[3]);
无效类型的错误
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
//Dice Rolls
int DealerRoll(int dealerRoll[3]) {
srand (time(NULL));
for (int dealerCount = 0; dealerCount < 3; dealerCount++) {
dealerRoll[dealerCount] = rand()% 6+1;
cout << dealerRoll[dealerCount] << " ";
}
return dealerRoll[3];
}
int main() {
int dealerRoll;
cout << "Dealer's Roll: " << endl;
DealerRoll(dealerRoll[3]);
system ("pause");
return 0;
}
答案 0 :(得分:2)
虽然您可以在函数中创建数组,但https://developer.android.com/studio/index.html
提供了更好的灵活性,并为您处理资源管理。
如果数组大小已修复,则可以改为使用std::vector
:
std::array<int,3>
答案 1 :(得分:0)
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
//Dice Rolls
void DealerRoll(int* dealerRoll) //retrieving array in pointer
{
srand (time(NULL));
for (int dealerCount = 0; dealerCount < 3; dealerCount++)
{
dealerRoll[dealerCount] = rand()% 6+1;
cout << dealerRoll[dealerCount] << " ";
}
}
int main()
{
int dealerRoll[3]; //syntax for creating array
cout << "Dealer's Roll: " << endl;
DealerRoll(dealerRoll); //passing address of array in function
//As Values are passed by address, values retained in array
cout<<"\nValues in Dealer's Roll : "<<endl;
for (int dealerCount = 0; dealerCount < 3; dealerCount++)
{
cout << dealerRoll[dealerCount] << " ";
}
system ("pause");
return 0;
}
答案 2 :(得分:0)
将行int dealerRoll;
更改为int dealerRoll[3];
原因:您需要将数组传递给函数,但是您要声明整数变量。
将行DealerRoll(dealerRoll[3]);
更改为DealerRoll(dealerRoll);
原因:函数将数组作为输入但您已经传递了数组的第3个位置(将分解为整数)而不是数组。