error C2059: 语法错误 : “public”等错误

黑夜愁客 2009-04-06 02:15:07
我在hex.h定义:
#ifndef __BTOHEX_H
#define __BTOHEX_H
#include <iostream>
#include <string>
using namespace std;
public int getMax(int a, int b)//here public is a bad word
{
int result = 0;
if(a>b){
result = a;
}else{
result = b;
}
return result;
}
#endif

#include "hex.h"
#include <string>
#include <iostream>
using namespace std;
int main(){

int result = getMax(34,67);
cout << "result is"<< result <<endl;
return 0;
}

c:\documents and settings\admin\my documents\visual studio 2008\projects\test\test\hex.h(6) : error C2059: 语法错误 : “public”
c:\documents and settings\admin\my documents\visual studio 2008\projects\test\test\hex.h(7) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
c:\documents and settings\admin\my documents\visual studio 2008\projects\test\test\hex.h(7) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
c:\documents and settings\admin\my documents\visual studio 2008\projects\test\test\test.cpp(7) : error C3861: “getMax”: 找不到标识符
生成日志保存在“file://c:\Documents and Settings\Admin\My Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm”
test - 4 个错误,0 个警告
----------------------------------
如果我把public去掉就可以了
为什么呢?
...全文
4366 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
getMax只是一个函数,不是类的成员.

不需要public修饰,C++只有在类里面,才有public之分.
黄志义 2009-04-06
  • 打赏
  • 举报
回复
LZ是从JAVA转行过来的吧
soulforcemw 2009-04-06
  • 打赏
  • 举报
回复
public,protected ,private等访问修饰符在c++语言中是针对类提出的概念。只有在类中才能使用访问修饰符,
也就是成员变量,成员函数之类的可以使用访问修饰符修饰。非成员函数不能使用public等修饰,因为它本身就是全局性质的,
任何对象都可以访问它,不需要什么访问限制。

public 修饰符使类的成员对于可访问该类的所有代码都可见。
所有类和接口在默认情况下都为 public。类或接口的成员可以使用 public 修饰符来标记。
不能将 public 修饰符与其他任何可见性修饰符(private、protected 或 internal)组合。
wuyu637 2009-04-06
  • 打赏
  • 举报
回复
c++里public只用在class里修饰类函数的访问权限,或者是子类的继承权限。


一个单独的函数是不能使用public修饰的。因为默认的就是PUBLIC

所以说你java写多了。
黑夜愁客 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyu637 的回复:]
因为这个不是java
[/Quote]恩,这个我知道,就是java影响的太多,那具体原因呢
wuyu637 2009-04-06
  • 打赏
  • 举报
回复
因为这个不是java
内容概要:本报告基于寻汇与万事达卡在2026年联合发布的《超越自动化:定义智能体驱动的全球支付》白皮书,系统分析了AI智能体在B2B跨境支付领域的应用与发展。报告指出,传统跨境支付存在效率低、人工干预多、合规风险高等问题,当前正从数字化、数据化迈向“自主化”新阶段。AI智能体可在授权下自主完成支付、换汇、合规审核、对账等全流程操作,核心技术包括深度强化学习、自然语言处理和图神经网络,用于路径优化、合规解析与异常检测。报告揭示了决策可解释性不足、跨系统协同标准缺失、安全审计机制缺位三大研究空白,并探讨了法律责任归属、监管碎片化、数据主权与技术可靠性四大现实挑战。寻汇与万事达卡的合作构建了“智能体编排引擎”与全球合规决策网络,首次提出L0-L5的智能体自主化等级框架,推动行业标准化。预计2026至2027年将实现首批大规模商业部署,提升支付效率超30%。; 适合人群:金融科技研究人员、AI技术开发者、跨境支付行业从业者、企业财资管理人员及政策监管机构相关人员。; 使用场景及目标:①理解AI智能体在跨境支付中的技术架构与应用场景;②把握自主化支付的演进趋势与商业化前景;③为金融机构和技术公司布局AI驱动型支付系统提供战略参考;④助力监管机构制定适应智能体时代的合规框架。; 阅读建议:本报告兼具技术深度与产业视野,建议结合白皮书原文及相关技术文献对照研读,重点关注智能体决策逻辑、合规实现机制与跨系统集成方案,并关注后续试点项目的实际成效与监管反馈。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧