作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 xcode 编写一个程序来做一些统计分析。但是,当我构建用于计算样本方差的函数时,xcode 一直告诉我,我对函数 sample_mean
的调用(这也是我定义的函数)不明确。
代码如下:
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
//sample_mean
double sample_mean (std::vector<double> v);
//sample_variance
double sample_variance (std::vector<double> v);
int main()
{
std::cout<<"hello world";
}
//sample_mean
double sample_mean (const std::vector<double>& v)
{
double sum= 0;
int i=0; for (; i<v.size(); ++i)
{
sum= sum+ v[i];
}
return sum/v.size();
}
//sample_variance
double sample_variance (const std::vector<double>& v)
{
double average= sample_mean(v);
double sum=0;
int i=0; for (; i<v.size(); ++i)
{
sum= sum+ std::pow((v[i]-average), 2);
}
return sum/v.size();
}
这段代码只包含sample_mean
和sample_variance
的定义,但是编译器一直告诉我sample_mean
的函数调用在定义里面sample_variance
(即 double average= sample_mean(v);
)是不明确的。我的程序有什么问题?
最佳答案
您的定义与声明的签名不同。
简单的解决方法:将定义移至 main
之上,而忘记前向声明函数。
前向声明函数是一种 C 主义,在 C++ 中并不是一个特别好的想法。它只会增加工作量,并产生问题。如您所见。
关于c++ - 为什么对函数 "sample_mean"的调用不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11929703/
我正在用 xcode 编写一个程序来做一些统计分析。但是,当我构建用于计算样本方差的函数时,xcode 一直告诉我,我对函数 sample_mean 的调用(这也是我定义的函数)不明确。 代码如下:
我是一名优秀的程序员,十分优秀!