C++ 获取错误C2062:类型';int';教科书中的代码出乎意料

C++ 获取错误C2062:类型';int';教科书中的代码出乎意料,c++,visual-c++,pointers,C++,Visual C++,Pointers,尝试使用基本指针功能显示用户输入的一些数字。但是,输入正常时显示错误 #include <iostream> using namespace std; int main() { cout << "How many integers you wish to enter? "; int InputNums = 0; cin >> InputNums; int* pNumbers = new int [InputNums]; // allocate reques

尝试使用基本指针功能显示用户输入的一些数字。但是,输入正常时显示错误

#include <iostream>
using namespace std;

int main()
{
cout << "How many integers you wish to enter? ";
int InputNums = 0;
cin >> InputNums;

int* pNumbers = new int [InputNums]; // allocate requested integers
int* pCopy = pNumbers;

cout<<"Successfully allocated memory for "<<InputNums<< " integers"<<endl;
for(int Index = 0; Index < InputNums; ++Index)
{
cout << "Enter number "<< Index << ": ";
cin >> *(pNumbers++);
}

cout << "Displaying all numbers input: " << endl;

for(int Index = 0, int* pCopy = pNumbers; Index < InputNums; ++Index) 
    cout << *(pCopy++) << " ";

cout << endl;

// done with using the pointer? release memory
delete[] pNumbers;

return 0;
}
#包括
使用名称空间std;
int main()
{
cout>输入;
int*pNumbers=newint[InputNums];//分配请求的整数
int*pCopy=pNumbers;
无法将
cin>>*(pNumbers++);
更改为
cin>*(pCopy++);

int*pCopy=pNumbers
更改为
*pCopy=pNumbers


这应该可以解决问题。但是,这个例子非常难看。我建议你修改你的课本。

你书中的例子不好。应该是这样的(代码也不好,但代码应该是这样的):

#包括
使用名称空间std;
int main()
{
cout>输入;
int*pNumbers=newint[InputNums];//分配请求的整数
int*pCopy=pNumbers;

coutt这是无效的语法。您不能在这样的for语句中声明不同类型的变量。您100%确定教科书中确实有这样一行:
for(int Index=0,int*pCopy=pNumbers;Index
?如果是这样,那就买本新书吧!(也就是说,它是如何在代码超出范围后删除代码< Point < /代码>?)是的,100%复制。请解释为什么它不有效?新的CPP,抱歉打扰。@ USS224732:这是SAMS一天一小时自学C++吗?如果是这样,你的代码与书不同。(int Index=0,int*pCopy=pNumbers;Index#include <iostream> using namespace std; int main() { cout << "How many integers you wish to enter? "; int InputNums = 0; cin >> InputNums; int* pNumbers = new int [InputNums]; // allocate requested integers int* pCopy = pNumbers; cout<<"Successfully allocated memory for "<<InputNums<< " integers"<<endl; for(int Index = 0; Index < InputNums; ++Index) { cout << "Enter number "<< Index << ": "; cin >> *(pCopy++); //use pCopy to 'walk' the array } cout << "Displaying all numbers input: " << endl; pCopy = pNumber; //reset pCopy for(int Index = 0; Index < InputNums; ++Index) cout << *(pCopy++) << " "; cout << endl; // done with using the pointer? release memory delete[] pNumbers; //pNumbers must still point to the address returned in line 10 return 0; }