CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

使用可变参数函数对 AcString 类的更改

2024-5-18 19:26| 发布者: admin| 查看: 27| 评论: 0|原作者: admin|来自: AutoCAD

使用可变参数函数对 AcString 类的更改

支持的平台:Windows 和 Mac OS

支持的版本:AutoCAD 2025 及更高版本

对类所做的更改可能需要您在使用函数(如函数和类似样式的函数)时更新程序。以前,只是一个指针,可以按值传递给可变参数函数。AcStringprintfAcString

要解决此问题,在大多数情况下,您只需要使用类的函数即可。例如,下面的第一条代码语句显示了在 AutoCAD 2025 之前的早期版本中工作的代码语句,而第二条代码语句显示了使用函数解决问题的方法。constPtr()AcStringconstPtr()

// Problem statement
acutPrintf(ACRX_T("\nBlock %s converted %d results"), blkName, it->second);

// Updated statement
acutPrintf(ACRX_T("\nBlock %s converted %d results"), blkName.constPtr(), it->second);

编译器错误

编译时,如果需要解决与使用相关的问题,可能会看到以下一个或多个警告:AcString

  • 警告G319FBF53:空指针作为第一个参数传递给字符串长度函数 [clang-analyzer-unix.cstring.NullArg]
  • 警告GF6F05EF3:调用的函数指针为 null(空取消引用)[clang-analyzer-core。CallAndMessage]
  • 警告GA42D982B:无法通过可调参数函数传递非平凡类型“AcString”的对象;调用将在运行时中止 [clang-diagnostic-non-pod-varargs]
  • 警告G6AFCE40B:调用C++对象指针为 null [clang-analyzer-core.CallAndMessage]
  • 警告GEB493B52:无法将“xxxx”转换为“AcString” [clang-diagnostic-error]
  • 警告GEB493B52:无法将“AcString”转换为“xxxx” [clang-diagnostic-error]
  • 警告GC266E94E:对类型“AcString”的非非常量左值引用无法绑定到类型为“AcString”的临时文件 [clang-diagnostic-error]
  • 警告GD877B189:数组访问(从变量“xxx”)导致空指针取消引用 [clang-analyzer-core.NullDereference]
  • 警告 G6C202045:分配的值是垃圾或未定义的 [clang-analyzer-core.uninitialized.Assign]

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 16:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部