cout std का सदस्य नहीं है


200

मैं mulitple फ़ाइलों और हेडर फ़ाइलों आदि का उपयोग कर अभ्यास कर रहा हूं। इसलिए मेरे पास यह प्रोजेक्ट है जो दो नंबर लेता है और फिर उन्हें जोड़ता है। बहुत साधारण।

यहाँ मेरी फाइलें हैं:

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

त्रुटि io.cpp में दिखाई दे रही है। सटीक त्रुटियां हैं:

यहां छवि विवरण दर्ज करें

किसी को भी पता नहीं है कि ऐसा क्यों हो रहा है? धन्यवाद।

संपादित करें: मैंने कल (2 .cpp और 1.h) फ़ाइलों की समान मात्रा के साथ एक छोटा प्रोजेक्ट बनाया और मैंने iostream हेडर को अन्य .cpp में शामिल नहीं किया और यह अभी भी संकलित है और ठीक चला है।


3
अपना संपादन संपादित करें: फिर आपने उस परियोजना को अलग तरीके से संकलित किया। अपनी दूसरी cpp फ़ाइल में iostream शामिल करना आवश्यक है क्योंकि आपके पास यह यहाँ है। हो सकता है कि आपके पास .hपिछली बार फ़ाइल में शामिल था ।
मैट

हाँ, यह अब बढ़िया काम कर रहा है, सभी की त्वरित प्रतिक्रिया के लिए धन्यवाद! :)
पॉल हैनॉन

2
हमेशा अपने स्थानीय फ़ाइलों के बाद सिस्टम हेडर फाइलें शामिल करें।
विंसेंट

जवाबों:


318

#include <iostream>की शुरुआत में io.cppभी जोड़ें ।


5
इस्ट्रीम को शामिल किया जाना है (प्रत्यक्ष या अप्रत्यक्ष रूप से)। अन्यथा कंपाइलर को कैसे पता चलेगा कि std :: cout कहां है।
एके

1
तुम्हारे द्वारा कहा गया मेरी समझ में आ रहा है। धन्यवाद। हालांकि मुझे अपनी दूसरी प्रोज कैसे मिली? काम करने के लिए यह अन्य में शामिल बिना .cpp भी? मैंने नीचे ओपी को अपडेट किया।
पॉल हैनॉन

1
आप शायद इसे अप्रत्यक्ष रूप से शामिल करते हैं। यह हमेशा आवश्यक है।
सेबस्टियन हॉफमैन

2
मुझे इसे .h फ़ाइल में भी शामिल करना था !! धन्यवाद
user391339

3
इसके बाद इसमें शामिल होना होगा stdafx.h, इससे पहले नहीं
एलेक्स

16

यह भी याद रखें कि यह होना चाहिए:

#include "stdafx.h"
#include <iostream>

और दूसरा रास्ता नहीं

#include <iostream>
#include "stdafx.h"

1
कहाँ "stdafx.h"से आता है? ओपी इस तरह के हेडर का उपयोग नहीं करता है
काबोसिनेसुल्ट

मेरे पास एक ही त्रुटि थी और मैंने ठीक होने के लिए उनके स्थानों का आदान-प्रदान करने की कोशिश की।
अली अहमदंद 12

1

मेरे पास एक समान मुद्दा था और यह पता चला कि मुझे cmakeफ़ाइलों को शामिल करने के लिए एक अतिरिक्त प्रविष्टि जोड़ना था ।

चूँकि मैं भी zmq पुस्तकालय का उपयोग कर रहा था, इसलिए मुझे इसे शामिल पुस्तकालयों में भी जोड़ना था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.