鱼C论坛

 找回密码
 立即注册
查看: 1456|回复: 3

[已解决]C++新手 求助各位大佬

[复制链接]
发表于 2017-4-19 23:03:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <string>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <vector>
#include <cmath>
struct function//用途
{
    string time;//日期
    string money;//金额
    string procession;//用途
    string account;
    string name;
    struct function *next;
};
struct message
{
    string account;//个人信息账号
    string name1;//名字
    string mima;//密码
    struct function F;
    struct message *next;//指向下一个结点
};
double getmoney(string t)
{
    double sum = 0;
    int flag = 1,j = 1;
    if(t.at(0) == '-'||t.at(0) == '+')
    {
        int i = 1;
        for(i = 1; i < t.size(); i++)
        {
            if(flag == 0)
            {
                sum = sum + (t.at(i)-'0')*pow(0.1,j);
                j++;
            }
            if(t.at(i) == '.')
            {
                flag = 0;
            }
            if(flag == 1)
            {
                sum = sum*10+(t.at(i)-'0');
            }
        }
        if(t.at(0) == '-')
        {
            sum*=-1;
        }
    }
    else
    {
        int i = 0;
        for(i = 0; i < t.size(); i++)
        {
            if(flag == 0)
            {
                sum = sum + (t.at(i)-'0')*pow(0.1,j);
                j++;
            }
            if(t.at(i) == '.')
            {
                flag = 0;
            }
            if(flag == 1)
            {
                sum = sum*10+(t.at(i)-'0');
            }
        }
    }
    return sum;
}
bool cmp(struct function* a,struct function* b)
{
    double a1=0,b1=0;
    a1 = getmoney(a->money);
    b1 = getmoney(a->money);
    if(fabs(a1) > fabs(b1))
    {
        return true;
    }
    else
    {
        return false;
    }

}
void sortprepare(struct message T ,string chose5)
{
    if(chose5 == "1")//按金额排行
    {
        vector<struct function*> sq;
        struct message*q;
        q = T.next;
        while(q)
        {
            struct function* f;
            f = q->F.next;
            while(f)
            {
                sq.push_back(f);
                f = f->next;
            }
            q = q->next;
        }
        vector<struct function*>::iterator start;
        start = sq.begin();
        sort(sq.begin(),sq.end(),cmp);
    }

}
int main()
{struct message T;
sortprepare(T,"5");
}
问题求助
这里的sort为什么有语法错误啊
解决语法错误即可
谢谢各位了
一下是错误
谢谢了
E:\360downloads\23e2e\main.cpp|997|error: no matching function for call to 'sort(__gnu_cxx::__normal_iterator<function**, std::vector<function*, std::allocator<function*> > >, __gnu_cxx::__normal_iterator<function**, std::vector<function*, std::allocator<function*> > >, <unresolved overloaded function type>)'|
最佳答案
2017-4-19 23:50:49
drt 发表于 2017-4-19 23:35
好像加了using namespace std;还是不可以
因为我是做项目  所以只是出来一部分  感觉应该是有些结构了类 ...

我这边没有问题
1>------ 已启动全部重新生成: 项目: tmp_c++, 配置: Debug Win32 ------
1>  mul.cpp
1>  main.cpp
1>f:\workspace\c\tmp_c++\tmp_c++\main.cpp(37): warning C4018: “<”: 有符号/无符号不匹配
1>f:\workspace\c\tmp_c++\tmp_c++\main.cpp(61): warning C4018: “<”: 有符号/无符号不匹配
1>  正在生成代码...
1>  tmp_c++.vcxproj -> F:\workspace\C\tmp_c++\Debug\tmp_c++.exe
1>  tmp_c++.vcxproj -> F:\workspace\C\tmp_c++\Debug\tmp_c++.pdb (Full PDB)
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-19 23:29:59 | 显示全部楼层
无标题.png
无标题1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-19 23:35:11 | 显示全部楼层

好像加了using namespace std;还是不可以
因为我是做项目  所以只是出来一部分  感觉应该是有些结构了类型不对称
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-19 23:50:49 | 显示全部楼层    本楼为最佳答案   
drt 发表于 2017-4-19 23:35
好像加了using namespace std;还是不可以
因为我是做项目  所以只是出来一部分  感觉应该是有些结构了类 ...

我这边没有问题
1>------ 已启动全部重新生成: 项目: tmp_c++, 配置: Debug Win32 ------
1>  mul.cpp
1>  main.cpp
1>f:\workspace\c\tmp_c++\tmp_c++\main.cpp(37): warning C4018: “<”: 有符号/无符号不匹配
1>f:\workspace\c\tmp_c++\tmp_c++\main.cpp(61): warning C4018: “<”: 有符号/无符号不匹配
1>  正在生成代码...
1>  tmp_c++.vcxproj -> F:\workspace\C\tmp_c++\Debug\tmp_c++.exe
1>  tmp_c++.vcxproj -> F:\workspace\C\tmp_c++\Debug\tmp_c++.pdb (Full PDB)
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 02:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表