c++ - 不知道为什么我得到“错误:没有命名类型”
问题描述
问题要我打印最频繁的数组中的值,我卡在这一点上。
#include <iostream>
#include <cstdlib>
using namespace std;
int dupe(int arr1[], int nElements);
int value;
for (int i =0; i < nElements; i++)
{
value = arr1[i];
for (int j =i+1; j<nElements; j++)
{
if (value==arr[j])
return value;
}
}
int main()
{
int arr1[] ={5,1,6,3,1}, nElements;
nElements= sizeof(arr1)/sizeof(int);
cout<<dupe(arr1,nElements);
}
我不断收到一个编译器错误,上面写着:
9:9: error: expected unqualified-id before 'for'
9:24: error: 'i' does not name a type
9:36: error: 'i' does not name a type
不知道为什么任何帮助会有用
解决方案
你可能是说
#include <cstdlib>
#include <iostream>
using namespace std;
int dupe(int arr1[], int nElements)
{
int value;
for(int i = 0; i < nElements; i++)
{
value = arr1[i];
for(int j = i + 1; j < nElements; j++)
{
if(value == arr[j])
return value;
}
}
}
int main()
{
int arr1[] = { 5, 1, 6, 3, 1 }, nElements;
nElements = sizeof(arr1) / sizeof(int);
cout << dupe(arr1, nElements);
}
函数 dupe 确实找到了第一个重复项,在这种情况下是目标值,但并非总是如此。
也许更好的方法是对数组进行排序(在算法标题中使用 std::sort )。这将使所有重复项相邻,因此易于计数。
推荐阅读
- tensorflow - 如何将迭代器返回的张量的形状与张量流变量对齐
- python - MacOS Python 3 netrc 操作以 UnicodeDecodeError 结束
- java - Spring Boot 集成测试中的 javax.persistence.TransactionRequiredException
- python - 我可以在 Visual Studio Code 中运行 python 而没有所有开销吗?
- json - 将 JSON 或 map[string]interface{} 中的映射插入到 MongoDB 集合中,将整数和浮点数设置为字符串
- javascript - 如何将带有从 API 接收的类的 HTML 注入 React?
- react-native - 无法为 react-native 应用程序集成 react-native-maps
- postgresql - 使用 PostgreSQL Debian (9.6) 在 Debian Stretch 上安装 PostgreSQL 11.1
- angular - 是否可以使用 jest 为 select2 编写单元测试?
- java - 重复条目异常:Spring Hibernate/JPA 级联保存多对一