Saya berlatih menggunakan file mulitple dan file header dll. Jadi saya punya proyek ini yang mengambil dua angka dan kemudian menambahkannya. Cukup mudah.
Ini file-file saya:
main.cpp
#include <iostream>
#include "add.h"
int main()
{
int x = readNumber();
int y = readNumber();
writeAnswer(x + y);
return(0);
}
io.cpp
int readNumber()
{
int x;
std::cout << "Number: ";
std::cin >> x;
return x;
}
void writeAnswer(int x)
{
std::cout << "Answer: ";
std::cout << x;
}
add.h
#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED
int readNumber();
void writeAnswer(int x);
#endif // #ifndef ADD_H_INCLUDED
Kesalahan muncul di io.cpp. Kesalahan sebenarnya adalah:
Adakah yang tahu mengapa ini bisa terjadi? Terima kasih.
EDIT: Saya membuat proyek kecil kemarin dengan jumlah file yang sama (2 .cpp dan 1.h) dan saya tidak memasukkan header iostream di .cpp lainnya dan masih dikompilasi dan berjalan dengan baik.
.h
file terakhir kali.Jawaban:
tambahkan
#include <iostream>
ke awalio.cpp
juga.sumber
stdafx.h
, bukan sebelumIngat juga bahwa itu harus:
dan bukan sebaliknya
sumber
"stdafx.h"
? OP tidak menggunakan tajuk seperti ituSaya memiliki masalah yang sama dan ternyata saya harus menambahkan entri tambahan
cmake
untuk memasukkan file.Karena saya juga menggunakan perpustakaan zmq, saya harus menambahkan ini ke perpustakaan yang disertakan juga.
sumber