error C3861: “maxmin”: 找不到标识符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C3861: “maxmin”: 找不到标识符相关的知识,希望对你有一定的参考价值。
#include<iostream>
using namespace std;
int main()
float a[100];
int n;
cout<<"请输入共有多少金块:"<<endl;
cin>>n;
cout<<"请输入各金块的质量:"<<endl;
for(int i=1;i<=n;i++)
cin>>a[i];
maxmin(a,n);
return 0;
void maxmin(float a[],int n)
float max,min;
max=a[1];
min=a[1];
for(int i=2;i<n;i++)
if(max<a[i])
max=a[i];
else if(min>a[i])
min=a[i];
cout<<"最大金块质量为:"<<max<<endl;
cout<<"最小金块质量为:"<<min<<endl;
函数声明要写在使用之前 修改方法:
把void maxmin(float a[],int n) 函数放在main函数之前
在main函数之前加一句话 ,maxmin的声明:void maxmin(float a[],int n);
Eclipse/C++ 找不到头文件
【中文标题】Eclipse/C++ 找不到头文件【英文标题】:Eclipse/C++ cannot find header files 【发布时间】:2016-11-05 19:38:07 【问题描述】:我已经添加了 MacOS X C++ Linker
和 GCC C++ Compiler
Includes
和 Libraries
库和路径,但我仍然无法 #include
我添加了路径和文件的库。
代码:#include <opencv2/text/ocr.hpp>
错误:
致命错误:找不到“opencv2/text/ocr.hpp”文件
Eclipse 设置:(项目 > 属性 > C/C++ 构建 > 设置)
MacOS X C++ 链接器 > 库
库检索路径:/usr/local/Cellar/opencv3/3.1.0_4/lib
/usr/local/cellar/opencv3/3.1.0_4/include/opencv2
/usr/local/cellar/opencv3/3.1.0_4/include/opencv2/text
图书馆:ocr
GCC C++ 编译器 > 包含
包含路径:/usr/local/cellar/opencv3
Mac 文件结构:ocr.hpp
存在于/usr/local/cellar/opencv3/3.1.0_4/include/opencv2/text
我的想法:
似乎 Eclipse 仍在寻找~/cellar/opencv
而不是 ~/cellar/opencv3
。
因为我可以#include
/usr/local/cellar/opencv/2.4.13.1/include/opencv2
中的任何库,而无需添加 Eclipse 项目设置的路径。
但我不能#include
来自/usr/local/cellar/opencv3/3.1.0_4/include/opencv2
的任何库
我习惯于在 Ruby 中工作,其中库管理非常容易,因此尝试在 C++ 中进行设置有点让我头疼。任何帮助将不胜感激。
【问题讨论】:
您的路径不一致(有些有“地窖”,有些有“地窖”)。 |/usr/local/cellar/opencv3/3.1.0_4/include/opencv2
-- 将“包含”目录设置为库搜索路径有什么意义?链接器没有用于头文件。 |如果 openCV 标头位于 /usr/local/cellar/opencv3/3.1.0_4/include/
中,为什么要将包含路径指向其上方的几个目录?毕竟,你不是在做#include <3.1.0_1/include/opencv2/text/ocr.hpp>
...
此外,这个问题与链接器无关,因为它在任何准备编译之前就失败了(它在预处理期间失败)。
如果我通过命令行导航,它的拼写为 cellar
,但如果我通过 Eclipse 的 add directory: filesystem
导航,则为 Cellar
,所以只需尝试路径变化以尝试使某些东西正常工作
【参考方案1】:
解决方案:
项目 > 属性 > C/C++ 常规 > 路径和符号 > GNU C++
将/usr/local/Cellar/opencv
更改为/usr/local/Cellar/opencv3
...> 库路径
删除所有路径并添加/usr/local/Cellar/opencv3
。
然后包括:#include <3.1.0_4/include/opencv2/text/ocr.hpp>
感谢 cmets 的帮助。
这篇文章也很有帮助:Eclipse C/C++ (CDT) import files into project - header file not found - include path
【讨论】:
如果您将“/3.1.0_4/include”添加到您在“GCC C++ Compiler > Includes”中设置的路径中,您可以避免该丑陋的包含路径。那么你应该能够拥有#include <opencv2/text/ocr.hpp>
,这是我希望看到的。以上是关于error C3861: “maxmin”: 找不到标识符的主要内容,如果未能解决你的问题,请参考以下文章
在win7上用cygwin编译Geant4自带的example提示 error C3861: “lrint”: 找不到标识符
VS2015--win32工程配置的一些想法之GdiplusTypes.h(470) : error C3861: 'min': identifier not found
显示这个错误error C2601: 'maxmin' : local function definitions are illegal是怎么回事?
nodejs连接mysql报错Error: ER_BAD_DB_ERROR: Unknown database 'book',菜鸟找不出原因?