我有這個錯誤的一個問題:「變量或現場宣佈無效」。C++錯誤「變量或現場宣佈無效」
的main.cpp
#include "header.h"
//Map per gestire il dizionario
std::map <std::string, Word> Dictionary;
int main()
{
create_word();
return 0;
}
header.h
#include <iostream> //Libreria I/O
#include <string> //Libreria per le String
#include <map> //Libreria per le Map
#include "class_word.h" //Libreria con classe Word
#include "function_dictionary.cpp" //Funzioni sul dizionario
#include "function_word.cpp" //Funzioni sulla classe Word
class_word.h
//Classe Word, rappresenta la parola del dizionario
class Word {
//Attributi privati della classe Word
private:
std::string value; //Valore
std::string desc; //Descrizione
//Metodi pubblici della classe Word
public:
Word() {} //Costruttore
Word(std::string val, std::string des) {value=val; desc=des;} //Costruttore con argomenti
~Word(){} //Distruttore
std::string get_Value() {return value;} //Metodo per prendere la parola
std::string get_Desc() {return desc;} //Metodo per prendere la descrizione
};
function_word.cpp
//Funzione per la creazione di una word
void create_word()
{
//Dichiarazione variabili
std::string word, description;
std::cout << "Parola: "; std::cin >> word;
std::cout << "Descrizione: "; std::cin >> description;
//Creazione Word
Word temp(word, description);
//Inserimento nel dizionario
insert_dictionary(temp);
}
function_dictionary.cpp
//Funzione per inserire la parola nel dizionario
void insert_dictionary (Word temp)
{
Dictionary.insert(make_pair(temp.get_Value(), temp));
}
最後一個文件我有錯誤...我該如何解決? 我認爲這是一個不好的頭文件,但我無法解析的時候...... 幫我請...我是一個新手。
我該如何解決這個問題,不使用太多包括? –
包括很好,只是不包含'.cpp'文件。請參閱我的答案中的鏈接,瞭解如何使用'extern'在兩個源文件中共享變量。 – TypeIA