Куча ошибок при создании многофайлового проекта
Пытаюсь написать курсовую, но проблема с объявлением функций в другом .срр файле.
Главный файл.
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <ostream>
#include "functions.h"
using namespace std;
string path("Card_Base.txt");
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int choose;
while (1) {
cout << "1. Створити картку" << endl;
cout << "2. Видалити крартку" << endl;
cout << "3. Вивисти картку" << endl;
cout << "0. Вихiд" << endl;
cout << "Що робимо?: ";
cin >> choose;
switch (choose) {
case 1: system("cls"); NewCard(); break;
case 2: system("cls"); break;
case 3: system("cls"); break;
case 0: return 0;
}
}
}
Файл объявления функций (functions.h)
#pragma once
#include <iostream>
#include <string>
#include <fstream>
void NewCard();
Файл, в котором проблемы (Options.cpp)
#include "functions.h"
void NewCard()
{
int numCard(256);
string str;
ofstream fout(path, ios::app);
if (!fout) {
cout << "Error";
}
{
fout << "ID№" << numCard;
}
fout.close();
}
Ответы (1 шт):
Автор решения: needKVAS
→ Ссылка
В Options.cpp нужно либо добавить:
using namespace std;
Либо уточнить пространство имён:
void NewCard()
{
int numCard(256);
std::string str;
std::ofstream fout(path, std::ios::app);
if (!fout) {
std::cout << "Error";
}
{
fout << "ID№" << numCard;
}
fout.close();
}
Второй вариант предпочтительнее.
Помимо этого в Options.cpp стоит написать:
extern std::string path;
Это связано с тем, что из данного файла не видно объявленную вами глобальную переменную.

