2016-02-28 2 views
1

Эти файлы сокращаются из более крупной программы.Два файла заголовка и два файла .CPP

У меня возникли проблемы с компиляцией этих файлов в C++, и я не совсем уверен, в чем проблема. Я изменил параметры функции, чтобы включить переменные course_holder и course_count, но это добавляет больше ошибок.

что я делаю неправильно?


struct_header.cpp

#ifndef FILENAME_H 
#define FILENAME_H 
#include <iostream> 
#include <stdlib.h> 
#include <iomanip> 

using namespace std; 

struct course_struct   
{ 
string course_ID; 
}; 

#endif 

func_proto.h

//func_proto.h 
#ifndef FUNCTIONS_H 
#define FUNCTIONS_H 

void add_course(course_struct (& array_course)[10][100]); 

#endif 

functions.cpp

// functions.cpp 
#include "struct_header.h" 
#include "func_proto.h" 

void add_course(course_struct (& array_course)[10][100]) 
{ // start f1 
    cout << "ENTER COURSE ID> "; 
    cin >> course_holder; 

    array_course[course_count][0].course_ID = course_holder; // course ID = user input 
    cout << course_holder; 

    course_count++; // increment for the next time this function is run 
    return; 
}// end f1 

main_funct.cpp

#include "struct_header.h" 
#include "func_proto.h" 

course_struct array_course[10][100]; 

int course_count = 0; 
string course_holder; 

int main() 
{ 
    add_course(array_course); 

    return 0; 
} 

и ошибки

functions.cpp: In function ‘void add_course(course_struct (&)[10][100])’: 
functions.cpp:8:9: error: ‘course_holder’ was not declared in this scope 
functions.cpp:10:15: error: ‘course_count’ was not declared in this scope 
func_proto.h:5:33: error: variable or field ‘add_course’ declared void 
func_proto.h:5:50: error: ‘array_course’ was not declared in this scope 
func_proto.h:5:62: error: ‘course_struct’ was not declared in this scope 
+0

Вы используете 'course_holder' повсюду, когда она не определена до момента, 'main'. –

ответ

0

вам нужно заявление для course_count и course_holder в functions.cpp

extern int course_count; 
extern string course_holder; 
+0

Это помогает, спасибо. Есть ли что-нибудь, что связано с тремя последними ошибками? те, которые не читают структуру. –

+0

Такая же проблема. Вы не объявляете вещи (в надлежащих местах). –