没有指定类型的错误,试图ASIGN输出看到指针和refrence输出时

问题描述:

你好,我试图找到参考值或指针的产出,但我 遇到一个名称类型的错误:没有指定类型的错误,试图ASIGN输出看到指针和refrence输出时

#include <iostream> 

using namespace std; 
int main() { 
    auto j,h,n,m,k; 
    auto j = 19; 
    auto h = 12; 
    auto &n = j; 
    auto *m = &h; 
    auto *k = h; 
    cout << "j=" <<j <<"\n"; 
    cout << "h=" << h <<"\n"; 
    cout << "n= " << &n << endl; 
    cout << "m= " << &h << endl; 
    cout << "k= " << *k << "\n"; 
    return 0; 
} 
+2

你认为这应该如何工作:'auto j,h,n,m,k;'? –

+1

你从编译器得到什么错误信息?它应该给你一个想法有什么问题... – Matthias

+0

马蒂亚斯,每行自动我看到名称类型错误 –

汽车只允许在同一时间初始化。 so line auto j,h,n,m,k是错误的,“auto & n = j”是非法的。

+0

'汽车&n = j;'是好的(如果'自动j,h,n,m,k'线是删除) –

auto只能在定义的正确大小上具有特定类型时才能使用。

因为你没有在第e行

auto j,h,n,m,k; 

使用特定类型的任务你得到一个错误。此外,n,m,k在程序后面会用到,所以你不能两次定义它们。 如果您给变量一个特定的类型并在第一行中省略变量声明n,m,k,程序将起作用。像

int j,h;