【发布时间】:2015-11-24 23:03:44
【问题描述】:
好的,所以我一直在努力处理头文件并使我的功能正常工作。我有 2 个 .cpp 文件和一个头文件。
main.cpp:
#include "Aliohjelmat.h"
#include <iostream>
#include <string>
using namespace std;
const unsigned int MAX_LKM = 40; //globaali vakio
int main() {
string Opiskelija[MAX_LKM]; //Määritetään tarvittavat taulukot
int HarjMaara[MAX_LKM];
float Arvosana[MAX_LKM];
int laskuri = 0;
int toiminto = 0;
cout << "Valitse toiminto:" << endl << "1.Lisaa uusi opiskelija";
cin >> toiminto;
switch (toiminto) {
case '1':
oppilas(Opiskelija, HarjMaara, Arvosana, laskuri);
laskuri++;
break;
default:
cout << "Valitse oikea toiminto";
break;
}
return EXIT_SUCCESS;
}
Aliohjelmat.cpp
#include "Aliohjelmat.h"
#include <iostream>
#include <string>
using namespace std;
void oppilas(string nimet[], int Tehtavat[], float Arvosanat[],int& laskuri){
cout << "Opiskelija nimi: ";
cin >> nimet[laskuri];
cout << "Tehdyt tehtavat (max. 40): ";
cin >> Tehtavat[laskuri];
cout << "Harjoitustyon arvosana: ";
cin >> Arvosanat[laskuri];
return;
}
还有头文件 Aliohjelmat.h
void oppilas(string nimet[], int Tehtavat[], float Arvosanat[], int& laskuri);
我的 VS Community 15 给了我 5 个不同的错误,C2065: 'string': undeclared identifier。 C3861 'oppilas':未找到标识符,以及其他类似的标识符。如果我只是将所有函数放在 main.cpp 中并忘记这两个其他文件,我就可以完成这项工作,但我想让它们工作。当我使用简单的 int 函数尝试文件时,这些文件也可以正常工作。
非常感谢任何形式的帮助,谢谢!
【问题讨论】:
-
我不明白这怎么可能,你已经包含了字符串并且有
using namespace std。您是否尝试过重新编译?请给出完整的输出并告诉我们Aliohjelmat.h。 -
彼得回答了我。谢谢大家的帮助!