繁体   English   中英

C ++和Visual Studio错误-没有来自“ std :: basic_ostream的合适转换函数” <char, std::char_traits<char> &gt;”到“ int”存在

[英]C++ and Visual Studio error - no suitable conversion function from “std::basic_ostream<char, std::char_traits<char>>” to “int” exists

Visual Studio最近对我发疯了,当我所做的只是一个简单的提示时,Visual Studio就给了我该主题的错误...

码:

// Lang.cpp : Defines the entry point for the console application.
//

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

using namespace std;

int main{
    cout << "hi";
}
 int main{ cout << "hi"; } 

由于可以使用{}语法初始化C ++中的对象,因此您的编译器可能将此代码解释为试图创建一个名为main的全局int变量的尝试,该变量初始化为std::ostream::operator<< ,该成员该函数返回对std::ostream本身的引用。

好像您已经写过:

double some_variable { cout << "hi" }

要么:

double some_variable { cout }

std::ostream实际上是std::basic_ostream<char, std::char_traits<char>> 而且该类型与int不兼容。

唯一奇怪的是为什么; "hi"之后不会立即导致编译器停止尝试; 但是您没有说明正在使用哪个编译器版本和哪个选项。

无论如何,所有这些事实最终都会导致错误消息:

 no suitable conversion function from “std::basic_ostream<char, std::char_traits<char>>” to “int” exists 

并在:

另外,突出显示“ hi”后的分号,并说“ expected a}”

解决方案:使main功能:

int main() {
    cout << "hi";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我收到错误消息:std :: basic_istream没有合适的转换函数 <char, std::char_traits<char> &gt;到char存在 没有运算符“=”匹配这些操作数操作数类型是 std::basic_ostream <char, std::char_traits<char> &gt; = 整数 没有合适的转换 function 从 (C++) std::istream &amp;std::getline <char, std::char_traits<char> , 标准::分配器<char> &gt; 布尔值</char></char,> 二进制表达式的无效操作数 (&#39;basic_ostream <char, std::__1::char_traits<char> &gt;&#39; 和 &#39;unsigned char&#39;) c++ 无法转换 'std::basic_ostream<char> ::__ostream_type' {aka 'std::basic_ostream<char> '} 赋值给 'int'</char></char> 1 IntelliSense:没有合适的构造函数可以从“bool”转换为“std :: basic_string” <char, std::char_traits<char> ,std :: allocator <char> &gt;” 二进制&#39;&lt;&lt;&#39;:未找到采用&#39;std :: basic_ostream类型的左操作数的运算符 <char, std::char_traits<char> &gt;&#39; ostream和运算符std :: basic_string <char, std::char_traits<char> ,std :: allocator <char> &gt;? 二进制表达式的无效操作数('basic_ostream <char, std::char_traits<char> &gt;' 和 '向量<std::string> '(又名'向量<basic_string<char> &gt;')) </basic_string<char></std::string></char,> 从&#39;const char *&#39;到&#39;std :: basic_ostream的无效转换 <char> :: char_type {aka char}&#39;
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM