使用命名空间 std 时C++ "Reference to overloaded function"错误

C++ "Reference to overloaded function" error using namespace std

本文关键字:Reference to function 错误 overloaded C++ 命名空间 std      更新时间:2023-10-16

我是C++新手,我不断收到错误说:

无法解析对重载函数的引用;你的意思是调用它吗?

下面是导致此问题的代码:

#include <stdio.h>
#include <string>
using namespace std;

int main() {
    string name;
    string age;
    cout << "Enter your name and age: ";
    cin >> name >> age;
    cout << "Hello, " << name << ", are you " << age << " years old?n";
    return 0;
}

我在Mac OS X Mojave上使用Xcode。

我还注意到,如果我只有该代码,那么它可以正常工作,但是当我有多个文件时,所有文件都无法正常工作。

谁能告诉我为什么会这样以及解决方案?

stdio.h 没有定义std::cinstd::cout。该标头定义了输入和输出的 C 函数,如 printfscanf 。所以它是一个 I/O 标头,但它不是您需要的。

您需要包含<iostream>才能获得std::cinstd::cout

相关文章: