c++ - 函数传递参数时遇到无效的八进制格式

标签 c++ visual-c++

在main.cpp中

classObject.sendTime(23,10,08);

在class.cpp中

void CClassName::sendTime(unsigned short hh, unsigned short mm, unsigned short ss)
{//some operation}

在 main.cpp 中,该行出现错误“遇到无效的八进制格式”

如果是 classObject.sendTime(10,05,02);代码编译并执行。

这可能是什么原因?请帮忙

最佳答案

任何以数字 0 开头后跟其他数字的整数文字都被认为是八进制的,即以 8 为基数。 0 之后的数字必须是有效的八进制数字,这排除 08,因为以 8 为基数的唯一有效数字是 [0,7]。只需使用 8

参见 this reference for octal and other integer literals .

关于c++ - 函数传递参数时遇到无效的八进制格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19632277/

相关文章:

C++ 析构函数泄漏动态内存

c++ - __forceinline 的执行速度是否比 __inline 快?

c++ - 如何知道编译器自动生成的特殊成员函数实现?

c++ - 如何在 VS 中禁用增量编译

c++ - IMediaSample 时间和 MediaTime

c++ - Visual C++ 中的浮点精度

c++ - 如何在 Linux 下构建 Visual Studio Solution?

c++ - 我可以为数组编写一个用户定义的推导规则到 vector 吗?

c++ - Visual Studio C++ 中的/MD 和/DMD 有什么区别?

c++ - 完美转发在 C++ 中不起作用