Я новичок в C++, так что извиняюсь, если это глупый вопрос. Я пытаюсь создать функцию, которая имеет 3 массива в своем параметре. Я получаю ошибку, что каждый из них не объявляется.Параметры массива C++ внутри функции не объявлены
код в заголовке: #ifndef ADDRESSMODEL #define ADDRESSMODEL #define ADDRESSDEBUG
#include <iostream>
#include <string.h>
using namespace std;
class PostCode
{
public:
PostCode(void);
~PostCode();
void postCodeCompare(tempPostCode[], theRoutingArray[], theIdentifier[]);
private:
char theRoutingArray[4];
char theIdentifier[5];
char tempPostCode[8];
};
inline PostCode :: PostCode(void)
{
strcpy(theRoutingArray, "000");
strcpy(theIdentifier, "0000");
cout << "Debug constructor called" << endl;
}
inline PostCode :: ~PostCode()
{
cout<< "Destructor" << endl;
}
inline int PostCode :: postCodeCompare(tempPostCode, theRoutingArray, theIdentifier)
{
char postCode[] = theRoutingArray + theIdentifier;
if (postCode[0] == tempPostCode[0]){
cout << 1 << endl;
}
else{
cout << 0 << endl;
}
}
#endif
код в основном: #include "header.h" с использованием патезраса;
int main(void){
cout << "main has started" << endl;
PostCode myCode;
char theRoutingArray[4];
char theIdentifier[5];
char tempPostCode[8];
cout << "Please type in your routing key: " << endl;
cin.getline(theRoutingArray, 4);
cout << "Please type in your identifier: " << endl;
cin.getline(theIdentifier, 5);
PostCode.postCodeCompare();
cout << "main has finished" << endl;
return 0;
}
Любые советы очень ценятся.
Вы не правильно объявлены вклад в ваш метод postCodeCompare, которые выглядят как они предназначены, чтобы быть просто личные члены. Также вы уверены, что хотите добавить указатель в этот метод? Я советую вам перейти на 'std :: string', чтобы получить более четкую функциональность и более простой код. – Nonanon