C++ 错误:操作员不匹配<&书信电报;在std::operator<<&书信电报;标准::字符特征<;char>&燃气轮机;(*&;std::cout),((常量字符*)

C++ 错误:操作员不匹配<&书信电报;在std::operator<<&书信电报;标准::字符特征<;char>&燃气轮机;(*&;std::cout),((常量字符*),c++,compiler-errors,iostream,C++,Compiler Errors,Iostream,错误:与运算符不匹配与标题相关的错误源于此行: coutinvertir(A,x)在您的代码中返回void。那么您为什么要在控制台上打印?您是对的,我需要创建一个新函数来打印我的新数组,并从Invertir(A,x)中删除最后一部分好的,编写一个新的函数来删除这些元素。请分享您迄今为止尝试过的实现,然后我们可以帮助您解决问题。在帖子上发表评论可能有点晚了,但是+1给出了以下建议:“不要害怕,检查给出的行号,并查看代码中的简单错误。” #include <iostream> using

错误:与
运算符不匹配与标题相关的错误源于此行:


coutinvertir(A,x)在您的代码中返回void。那么您为什么要在控制台上打印?您是对的,我需要创建一个新函数来打印我的新数组,并从Invertir(A,x)中删除最后一部分好的,编写一个新的函数来删除这些元素。请分享您迄今为止尝试过的实现,然后我们可以帮助您解决问题。在帖子上发表评论可能有点晚了,但是+1给出了以下建议:“不要害怕,检查给出的行号,并查看代码中的简单错误。”
#include <iostream>
using namespace std;

int ContarDig (int num){
    int contar=1;
    while (num>9){
        num=num/10;
        contar=contar+1;
    }
    return contar;
}
void arreglo(int a[], int t){
    for(int i=(ContarDig(t)-1); i>=0; i--){
        a[i]=t%10;
        t=t/10;
        cout <<"valor posicion[" << i << "]= "<<a[i]<<endl;
    }
}
void invertir(int A[],int x){
    int l=(ContarDig(x)/2);
    int i=0;
    int f=ContarDig(x);
    for(l;l>=0;l--){
        int b=A[i];
        A[i]=A[f];
        A[f]=b;
        i++;
        f--;
    }
    for (i;i<=ContarDig(x);i++){
        cout <<"valor posicion[" << i << "]= "<<A[i]<<endl;
    }
}
int main(int argc, char *argv[]) {
    int x;
    cout<<"Digite un numero para invertir"<<endl;
    cin>>x;
    int A[ContarDig(x)];
    arreglo (A,x);
    cout<<"========================================================================"<<endl;
    cout<< "El arreglo invertido es:" << invertir(A,x) << endl;
    return 0;
}
#include <iostream>
using namespace std;

int ContarDig (int num){
    int contar=1;
    while (num>9){
        num=num/10;
        contar=contar+1;
    }
    return contar;
}
void arreglo(int a[], int t){
    for(int i=(ContarDig(t)-1); i>=0; i--){
        a[i]=t%10;
        t=t/10;
        cout <<"valor posicion[" << i << "]= "<<a[i]<<endl;
    }
}
void invertir(int A[],int x){
    int l=(ContarDig(x)/2);
    int i=0;
    int f=ContarDig(x)-1;
    for(l;l>=0;l--){
        int b=A[i];
        A[i]=A[f];
        A[f]=b;
        if (ContarDig(x)==2)
            break;
        i++;
        f--;
    }
}
int main(int argc, char *argv[]) {
    int x;
    cout<<"Digite un numero para invertir"<<endl;
    cin>>x;
    int A[ContarDig(x)];
    arreglo (A,x);
    cout<<"========================================================================"<<endl;
    cout<< "El arreglo invertido es:" <<endl;
    invertir(A,x);
    for (int i=(ContarDig(x)-1);i>=0;i--){
        cout <<"valor posicion[" << i << "]= "<<A[i]<<endl;
    }
    return 0;
}
test92.cpp: In function ‘int main(int, char**)’:
test92.cpp:41:39: error: no match for ‘operator<<’ 
  (operand types are ‘std::basic_ostream<char>’ and ‘void’)