gpt4 book ai didi

c++ - 从 'std::ios_base& (*)(std::ios_base&)' 到 'int' 的无效转换 [-fpermissive]

转载 作者:行者123 更新时间:2023-11-28 01:33:26 26 4
gpt4 key购买 nike

我已经实现了查找最大值和最小值的函数。但我得到以下错误代码: [错误] 从“std::ios_base& (*)(std::ios_base&)”到“int”的无效转换 [-fpermissive]

#include<iostream>
using namespace std;
int a[1000], n, maxDiff, maxValue, minValue;
void nhap() {
int i, n;
cout << "Nhap n: ";
cin >> n;
for ( int i =1; i <= n; i ++) {
cout << "Nhap vao mang thu i: " << i << endl;
cin >> a[i];
}
}
void findmaxdiff(int left, int right, int maxDiff, int& maxValue, int& minValue) {
int mid;
int maxD1, maxV1, minV1;
int maxD2, maxV2, minV2;
if(left==right) {
maxDiff = 0;
maxValue = a[right];
minValue = a[right];
}
else {
mid = (left +right) / 2;
findmaxdiff(left, mid, maxD1, maxV1, minV1);
findmaxdiff(mid+1, right, maxD2, maxV2, minV2);
maxDiff = maxV2 - minV1;
if(maxDiff< maxD1) maxDiff = maxD1;
if(maxDiff< maxD2) maxDiff = maxD2;
if(maxV1> maxV2){
maxValue= maxV1;
}
else {
maxValue = maxV2;
}
if(minV1< minV2) {
minValue = minV1;
}
else {
minValue= minV2;
}
}
}
int main() {
nhap();
findmaxdiff(left, n, maxDiff, maxValue, minValue);
cout << maxDiff;
}

enter image description here

最佳答案

缺少变量 left 定义。

不要通过using namespace std;std 命名空间扩展到全局命名空间,您将避免此类错误。您忘记声明变量 left 和函数 std::ios_base& left( std::ios_base& str ); 来自命名空间 std 被应用。

Why is using namespace std considered bad practice?

关于c++ - 从 'std::ios_base& (*)(std::ios_base&)' 到 'int' 的无效转换 [-fpermissive],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50539923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com