|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 永恒的蓝色梦想 于 2020-5-1 15:05 编辑
比如有这么一个程序- bool func(unsigned long long n) {
- return false;
- }
- bool func(long long n) {
- return true;
- }
- int main() {
- func(1);
- }
复制代码 会出现有多个 重载函数 "func" 实例与参数列表匹配 的错误
但是我想对有符号数和无符号数提供不同的功能,该怎么办呢?是不是需要把所有整型都写一遍呢……
求大佬解答
- #include <iostream>
- bool func(unsigned long long n) {
- std::cout << "unsigned long long" << std::endl;
- return false;
- }
- bool func(long long n) {
- std::cout << "long long" << std::endl;
- return true;
- }
- int main() {
- long long a = 1;
- unsigned long long b = 2;
- func(a);
- func(b);
- return 0;
- }
复制代码
- $ g++ -g -Wall -o main main.cpp && ./main.exe
- long long
- unsigned long long
- $
复制代码
- #include <iostream>
- bool func(unsigned long long n) {
- std::cout << "unsigned long long" << std::endl;
- return false;
- }
- bool func(long long n) {
- std::cout << "long long" << std::endl;
- return true;
- }
- int main() {
- //func(1);
- func((long long)1);
- func((unsigned long long)2);
- return 0;
- }
复制代码
- $ g++ -g -Wall -o main main.cpp && ./main.exe
- long long
- unsigned long long
- $
复制代码
|
|