注册 登录
编程论坛 C++教室

明明定义了函数却说找不到?

moox 发布于 2018-01-17 16:15, 5813 次点击
#include <iostream>

using namespace std;

int petrolStation_1(int gas[],int cost[],int N)
{
    int k=-1;
    int max=0;
    for(int i=0;i<N;i++)
    {
        int sum=0;
        int count=0;
        for(int j=i;count<N;count++,j=(j+1)%N)
         {
            if(sum<0) break;
            sum+=(gas[j]-cost[j]);
         }   
        if(sum>=max) {k=i;max=sum;}
    }
    return k;
}
int pertolStation_2(int gas[],int cost[],int N)
{
    int *diff=new int[N];
    int sum=0;
    for(int i=0;i<N;i++)
    {
        diff[i]=gas[i]-cost[i];
        sum+=diff[i];
    }
    if(sum<0) return -1;
    sum=0;
    int startNode=0;
    for(int i=0;i<N;i++)
    {
        sum+=diff[i];
        if(sum<0)
        {
            sum=0;
            startNode=i+1;
        }
    }
    return startNode;
}
int main()
{
    int gas[]={2,0,3,4};
    int cost[]={1,2,1,4};
    int N=sizeof(gas)/sizeof(gas[0]);
    cout<<pertolStation_1(gas,cost,N)<<endl;
    cout<<pertolStation_2(gas,cost,N)<<endl;
    return 0;
}

E:\codeBlock\加油站\main.cpp|46|error: 'pertolStation_1' was not declared in this scope|

凌乱了,函数定义了啊,为毛说not declared
8 回复
#2
rjsp2018-01-17 16:21
“明明” ------ 这种事情很简单,按Ctrl+F后输入pertolStation_1,看看能不能找到?
#3
Jonny02012018-01-17 18:27
       int petrolStation_1(int gas[],int cost[],int N)
cout<<pertolStation_1(gas,cost,N)<<endl;
#4
moox2018-01-17 18:51
回复 2楼 rjsp
版主大人还是不行啊,ctrl+F,找到的只有main里边的pertolStation_1函数,还是不懂。。。

[此贴子已经被作者于2018-1-17 19:03编辑过]

#5
moox2018-01-17 18:53
回复 3楼 Jonny0201
是要我前项申明吗?不懂什么意思啊。各种试,还是不行啊。
#6
ml2325282018-01-19 15:06
以下是引用Jonny0201在2018-1-17 18:27:25的发言:

       int petrolStation_1(int gas[],int cost[],int N)
cout<<pertolStation_1(gas,cost,N)<<endl;



+1
#7
dsxktop2018-01-19 15:15
是不是局部函数的原因,变量在循环体内部
#8
Jonny02012018-01-19 21:30
回复 5楼 moox
我都已经标红了
你没看到你打错单词了吗?
#9
stop12042018-01-22 10:00
perto  petro ..
1