- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我寻求帮助,因为我已经阅读了大量类似的问答,但实际上没有一个对我有帮助。
我编写了一个库 (libreria.h),其中包含“libreria.cc”和一个 main.cpp。一切似乎都很好,但是当我尝试编译时(我在 Ubuntu 终端上进行编译),它说:“未在此范围内声明 integral_area”。
我的代码应该计算数学函数下面积的均值和方差(实际上是该函数的积分值)。
明确地说,如果我将单个函数放在主要函数之上,代码就可以工作。当我尝试将它们放入外部库时出现问题。
这是代码(我将 var 名称从意大利语更改为英语,如果有一些打字错误请不要介意,因为原始代码没有它们。我检查了将近十亿次。问题是其他地方):
libreria.h
#ifndef libreria_h
#define libreria_h
class libreria
{
public:
~libreria();
double random ();
double randomrange (double xmin, double xmax);
double matfunc(double x);
double integral_area(double xmin, double xmax,double ymin, double ymax);
private:
double x;
double xmin;
double xmax;
double ymin;
double ymax;
int N;
};
#endif
libreria.cc
#include "libreria.h"
#include <iostream>
#include <cstdlib>
using namespace std;
double libreria::random (){
return (rand() / (1.*RAND_MAX));
}
double libreria::randomrange (double xmin, double xmax){
return (xmin + (xmax-xmin) * rand() / (1.*RAND_MAX));
}
double libreria::matfunc(double x){
return (exp(-1*x*x*4));
}
double libreria::integral_area(double xmin,double xmax,double ymin,double ymax){
double x = 0.;
double y = 0.;
do {
x= randomrange(xmin,xmax);
y= randomrange(ymin,ymax); }while(y > matfunc(x));
return(x);
}
libreria::~libreria(){ //do nothing
}
main.cpp
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <iomanip>
#include <math.h>
#include "libreria.h"
#include "libreria.cc"
using namespace std;
int main () {
srand(time(NULL));
double ax,bx,ay,by; // [ax,by] [ay,by]
double N,p;
double mean=0,meanq=0,variance=0;
cin >> N;
cin >> ax >> bx;
cin >> ay >> by;
for(int i=1; i<=N; i++){
p = integral_area(ax,bx,ay,by);
cout << "Val " << i << ": " << setprecision(2) << p << endl;
mean+=p;
meanq+=(p*p);
p=0;
}
mean=mean/N;
cout << "Mean is: " << setprecision(2) << mean << endl;
meanq=meanq/N;
variance=(meanq- (mean*mean));
cout << "Variance is: " << setprecision(2) << variance << endl;
}
最佳答案
libreria
是一个类,您还没有声明它的一个实例。您需要执行以下操作:
libreria l; // at the top
// rest of code.....
l.integral_area(ax,bx,ay,by);
关于c++ - main.cpp : function in library "not declared in this scope", 错误但实际上是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110226/
我看过有关 CocoaPods 的指南,建议像这样导入所需的 pod 的库 header : #import 在哪里Library是库的名称(例如 #import )。 我还看到指南建议像这样导入
我正在尝试创建一个包含其他库的 PHP 库,我敢打赌我遗漏了一些基本的东西。 使用 AWS PHP SDK作为指南,我想创建一个库,在使用 Composer 安装后,它需要其他库,但是类的整个范围(包
我正在为 Android 产品开发我的 gradle 版本,以使产品风格正常工作。 我有以下项目结构: at.mkw.inlocs.android - Library Project at.mkw.i
使用@testing-library/react-hooks 我过去常常通过initialProps 传递模拟存储,正如Advanced Hooks 中提到的那样文档。假设我有一个代码: import
我试图获得一个静态链接到我的程序的音频库。我用 this灵活的包。为了让它运行,我必须按照描述构建 soloud 库 here .下载后不久,我在“build”文件夹中运行了“genie --with
我刚刚安装了 zkcm library在我的 kubuntu 机器上,我在编译 C++ 代码时遇到了问题。 我已经安装了 gmp 和 mpfr 库并检查它们是否工作;代码 mpfr_t m1, m2,
我正在尝试编译我的 native 代码。这是我的 android.mk 文件 //part1-static lib LOCAL_PATH := $(call my-dir) include $(CLE
我正在开发一个带有沙丘的大型图书馆。让我们调用这个库L . 为了避免造成大困惑,沙丘项目有许多较小的库:A , B , C , ... 这些库相互依赖。 我希望用户能够 opam install L
在 unix 之上使用 C 语言工作,我正在加载和使用共享库,如下所示: ... handle = dlopen("nameOfLib"); ... libInit(); ... libGoToSta
我试图找出一种更简单的方法来为XCode中的链接器构建阶段复制/同步框架列表。我知道我可以在Xcode中复制目标,但这是用于创建新的Cocoa Touch Unit Testing Bundle目标。
例如/lib/的描述是它包含系统的共享库文件。 图书馆到底是什么?我们谈论的库文件是否类似于在 C 中导入库?库文件中包含什么以及它们的用途是什么? 它与.dll 有什么关系 最佳答案 库只是一个代码
我有这样的目录结构 . --compile_c.sh --compile_java.sh --config.sh --execute_java.sh --run.sh --src --ccode
我正在更新一些 Makefile 以从 Make 3.81 移动到 3.82。在多个地方,原作者使用了类似这样的东西来构建静态库: all: lib$(library).a($objects) 这似乎
我是 Rust 的新手,正在尝试了解 Cargo 的东西。我在他们的常见问题解答中读到关于 "why do binaries have Cargo.lock in version control, b
我正在尝试使用 Microsoft Enterprise Library 中的 DatabaseFactory 方法。 using Microsoft.Practices.EnterpriseLibr
我刚刚升级到Xcode 5.1,突然出现一个新警告: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctool
然后新的Enterprise Library 6出来了,可以是downloaded here .我已将 EnterpriseLibrary6-binaries.exe 下载并解压缩到我的 C: 驱动器
我正在尝试将 native 库与我的 Eclipse 插件捆绑在一起。当我提供库的路径时 -Djava.library.path ,它完美无缺。 但是,当我将它添加到 MANIFEST.MF 中时文件
在我的 Android Studio 项目中,我有两个子项目/模块:一个 Android 应用程序(App1)和一个 Android 库项目(LibraryProject1)。 App1取决于 Lib
我最近使用 Google 的 Closure 编译器创建了一个 JavaScript 库:https://github.com/bvaughn/task-runner 我打算让这个库供那些也需要完整闭
我是一名优秀的程序员,十分优秀!