我正在玩一些C++,只是为了好玩.我刚刚开始使用函数,我想根据用户是否尝试乘以1来制作一个if语句,该语句将转到不同的函数.
这是代码:
//Test för att se om jag förstår funktioner
#include <iostream>
#include <string>
using namespace std;
//Deklarerar variblar som jag ska använda
int a,b,x;
string s;
//Skriver ut funktionen för att multiplicera
int multi(int a, int b)
{
x = a * b;
return x;
}
int ans(void)
{
using std::string;
string s = "Lol";
return s;
}
//Samlar in värde från användaren, skickar den till funtktionen "multi" som multiplicerar den, sedan skickar den tillbaks den till main via return. Main visar sedan
//resultatet för användaren
int main( void )
{
using std::cout;
using std::cin;
using std::string;
cout << "Ange ett nummber som du vill multiplicera: \n\n";
cin >> a;
cout << "\n";
cout << "Ange det andra nu: \n";
cin >> b;
cout << "\n";
if(a == 1)
{
multi(a,b);
cout << "Svaret är: " << x << "\n";
}
else
{
ans;
cout << s;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
唯一发生的事情是它返回消息;
adrian @ adrian-HP-ProBook-4525s:〜/ Documents/code $ g ++ test10.cpp -o test test10.cpp:在函数'int ans()'中:test10.cpp:26:10:错误:无法转换'std :: string {aka std :: basic_string}'到'int'作为回报
它是如此奇怪,因为从我所能看到的一切,我不是想把它转换回来,是吗?
//问候
int ans(void)
^^^^^
Run Code Online (Sandbox Code Playgroud)
您正在试图返回s它是std::string在函数体中,但你的函数签名表示函数返回的int.因此,编译器试图转换std::string到int这是一个无效的转换,因此错误.
它应该是:
std::string ans(void)
^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |