C ++错误我需要帮助吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++错误我需要帮助吗?相关的知识,希望对你有一定的参考价值。
我做了一个代码,必须编写一个数学函数,然后给出图像。首先,将函数作为字符串变量引入,但我不知道如何将其转换为另一种类型的变量以返回函数的图像。
我得到的编译器错误是:
无法将'
std::string {aka std::basic_string<char>}
'转换为'const char*
'作为参数'1
'转换为'int printf(const char*, ...)
'
#include<iostream>
#include<cmath>
#include<math.h>
#include<vector>
#include<stdio.h>
#include<iomanip> //setprecision//
#include<sstream>
#include<string>
#define precisio 4
#define K 100
using namespace std;
double valors(double a, double b);
double g(double x);
double x;
double a = x;
double y(x);
int i;
int main () {
cout << setprecision(precisio);
cout << "Escriu l'interval de la funció" << endl;
double a, b;
cout << "
a ="; cin >> a;
cout << "
b ="; cin >> b;
cout << "Escriu la funcio" << endl; string s;
cin >> s; cout << s;
double y = printf(s.c_str());
valors(a,b);
}
double valors(double a, double b){
int punts = K*(b-a) + 1;
double amplada = (b-a)/K;
cout << "
x f(x)" << endl;
for (int i = 0; i < punts; i++) {
cout << " " << a << " " << g(a) << endl;
a = a + amplada;
}
}
double g(double x){
return y;
}
答案
double valors(double a, double b)
您的函数不返回任何值,而它应返回“double”。
另一答案
我假设的目的是:
cin >> s; cout << s;
double y = printf(s.c_str());
是将用户输入的值输入标准输入y。如果是这样,你应该这样做:
cin >> y;
另一答案
使用C ++ 14的在线编译器没问题:here
#include<iostream>
#include<stdio.h>
#include<iomanip> //setprecision//
#include<sstream>
#include<string>
#define precisio 4
#define K 100
using namespace std;
double valors(double a, double b);
double g(double x);
double x;
double a = x;
double y(x);
int i;
int main()
{
cout << setprecision(precisio);
cout << "Escriu l'interval de la funció" << endl;
double a, b;
cout << "
a =";
cin >> a;
cout << "
b =";
cin >> b;
cout << "Escriu la funcio" << endl;
string s;
cin >> s;
cout << s;
double y = printf(s.c_str());
valors(a, b);
}
double valors(double a, double b)
{
int punts = K * (b - a) + 1;
double amplada = (b - a) / K;
cout << "
x f(x)" << endl;
for (int i = 0; i < punts; i++)
{
cout << " " << a << " " << g(a) << endl;
a = a + amplada;
}
}
double g(double x)
{
return y;
}
以上是关于C ++错误我需要帮助吗?的主要内容,如果未能解决你的问题,请参考以下文章