gpt4 book ai didi

c++ - 编译器声称变量不明确,不会运行

转载 作者:行者123 更新时间:2023-11-30 05:38:35 24 4
gpt4 key购买 nike

我的编译器 (VS 2015) 声称“int rents[size]”行包含 size,这是不明确的,不会运行程序。

我已经进行了无数次修改,但无法获得一个至少可以接受可变大小作为明确内容的版本。我对 C++ 的极端细节不是很了解,并且想要一些关于为什么我会收到此错误的指导。谢谢!

控制台错误:

    1>c:\users\**\documents\visual studio 2015\projects\arrays and pointers\arrays and pointers\source.cpp(9): error C2872: 'size': ambiguous symbol
1> c:\users\**\documents\visual studio 2015\projects\arrays and pointers\arrays and pointers\source.cpp(8): note: could be 'const int size'
1> c:\users\**\documents\visual studio 2015\projects\arrays and pointers\arrays and pointers\source.cpp(9): note: or 'size'

下面的代码

    #include <iostream>
#include <iomanip>
#include <string>
#include <cstdio>

using namespace std;

const int size = 6;
int rents[size];

void sortArray(int *rents, const int size);

int main()
{

bool run_again = true;
// Define Numbers
int num0;
int num1;
int num2;

//Define Pointers
int *ptrnum0;
int *ptrnum1;
int *ptrnum2;

// Set Pointers
ptrnum0 = &num0;
ptrnum1 = &num1;
ptrnum2 = &num2;



int choice;

do
{

cout << "Main Menu:\n";
cout << "1.) Display Numbers\n";
cout << "2.) Display First and Last Rent Locations.\n";
cin >> choice;

if (choice == 1)
{

while (run_again)
{
int num;
cout << "Int 0: ";
cin >> num0;
cout << endl;
cout << "Int 1: ";
cin >> num1;
cout << endl;
cout << "Int 2: ";
cin >> num2;
cout << endl;
run_again = false;
}



cout << "num0 == " << num0 << endl;
cout << "num1 == " << num1 << endl;
cout << "num2 == " << num2 << endl << endl;

cout << "&Numbers: Addresses: \n\n";

cout << "&num0 == " << &num0 << endl;
cout << "&num1 == " << &num0 << endl;
cout << "&num2 == " << &num0 << endl << endl;

cout << "*ptrnum0 == " << ptrnum0 << endl;
cout << "*ptrnum1 == " << ptrnum1 << endl;
cout << "*ptrnum2 == " << ptrnum2 << endl << endl;

// Sort Entered numbers
}

// SHow First and last
if (choice == 2)
{


}


system("pause");
return 0;

} while (choice < 3);
}




void sortArray(int *rents, const int size) {

bool swap;
int temp;
int count = 0;

do
{
swap = false;
for (count = 0; count < (size - 1); count++) {
if (*(rents + count) < *(rents + count + 1))
{
temp = rents[count];
*(rents + count) = rents[count + 1];
*(rents + count + 1) = temp;
swap = true;
}
}
} while (swap);

for (count = 0; count < size; count++)
cout << *(rents + count) << " ";
cout << "\n";

}

最佳答案

您声明了一个名为“size”的常量和一个名为“size”的参数。

改为:

const int RentsMaxSize = 6;
int rents[RentsMaxSize];

[阅读错误消息解释了这一点]

此外,请注意数组在 C++ 中是基于零的

关于c++ - 编译器声称变量不明确,不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32686456/

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