Я задал вопрос об этой программе раньше, но все еще есть вопросы. Я создал пространство имен в файле stdfax.h и пытаюсь вызвать функции из main.Вызов методов из пространства имен - объявление идентификаторов
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
deductions::getData(mStatus, nOfChildren, salary, contribPension);
deductions::taxAmount(mStatus, nOfChildren, salary, contribPension);
}
Пространство имен выглядит следующим образом:
#pragma once
#include <iostream>
#include <iomanip>
using namespace std;
namespace deductions
{
const double marriedDeduction = 7000.00;
const double singleDeduction = 4000.00;
const double personalExemption = 1500.00;
void getData(char& mStatus, int& nOfChildren, double& salary,
double& contribPension)
{cout << "\n\n Enter marital status: m or M (married), s or S (single): ";
cin >> mStatus;
if(mStatus == 'm' || mStatus == 'M')
{
cout << " Number of children:" << setfill(' ') << setw(40) << ' ';
cin >> nOfChildren;
} // end IF
cout << setfill(' ');
cout << " Enter gross Salary:" << setw(40) << ' ';
cin >> salary;
cout << " Percentage of salary contributed to Pension (0 to 6):" << setw(6) << ' ';
cin >> contribPension;
cout << endl;} // end getData(
double taxAmount(char mStatus, int nOfChildren, double salary,
double contribPension)
{...}
};
Ошибка необъявленной идентификаторы в основном. Опять же, я пробовал играть с ним и не могу заставить его работать. Извините, если это глупая ошибка; Я работаю с чужим кодом, и я смотрю на него так долго, что это уже не имеет смысла.
Объявление переменных в основном дает ошибку, которую они уже определили в stdfax.
Где объявляются 'mStatus, nOfChildren, зарплата, contribPension'? –
Когда я объявляю те, которые находятся в пространстве имен, он дает ошибку, говоря, что они уже определены в stdfax. Это дает ту же ошибку, когда я пытаюсь объявить их в основном тоже. – user3273096
Я бы удалил пространство имен из stdfax.h. Этот файл зарезервирован для предварительно скомпилированных заголовков в VS. Поместите его в свой собственный заголовок («deductions.h») и включите его в основное. Очистите и перестройте свой проект. –