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;
}