我在这里面临一个问题。这是关于投入的。
编辑:在我输入值以将其分配到每个季节后,程序每次都会崩溃。顺便说一句,我是自学c ++所以......
#include <iostream>
const int Seasons = 4;
const char * Snames[Seasons] = { "Spring", "Summer", "Fall", "Winter" };
void fill(int* a[], const int);
int main()
{
int * expenses[Seasons];
fill(expenses, Seasons);
return 0;
}
void fill(int* pa[], const int x)
{
for (int i = 0; i < x; i++)
{
std::cout << "Enter " << Snames[i] << " expenses.";
std::cin >> *pa[i];
}
}
我知道我可以使用字符串,但我可以知道如何解决这个问题吗?我认为问题出在* pa [i]。
谢谢!
答案 0 :(得分:0)
声明
std::cin >> *pa[i];
取消引用未初始化的指针
对于这种情况,你根本不需要int*
指针。只需将数组和函数签名更改为
int expenses[Seasons];
void fill(int* pa, const int x)
并使用
std::cin >> pa[i]; // Note no dereferencing