printf("#connect kv error host[%s] port[%d]#", host.c_str(), port);
把这句用宏定义就会出现标题里的警告?
10 个解决方案
#1
沙发,没看出啥问题。
#2
好像没看出什么问题呢
#3
命令空间?在两个参数前面加个强制转换试试?或者把这个宏前面的代码(包括头文件)都贴出来看看...
报错的完整信息也贴出来下...
报错的完整信息也贴出来下...
#4
printf("#connect kv error host[%s] port[%d]#", host.c_str(), port);
这个用宏定义???
这个用宏定义???
#5
float f,c;
#define pri printf("f=%g\nc=%g\n",f,c)
int _tmain(int argc, _TCHAR* argv[])
{
f=64.0f;
c=(5.0f/9.0f)*(f-32.0f);
pri;
return 0;
}
这样测试OK。。。
不知道你是怎么定义的!!!
#6
问问题不贴出错的代码,反而把没错的代码贴上来?
从警告内容里可以看出,十有八九是define的时候host.c_str()被define错了,所以才说printf函数不接受host这种标准库类云云
这种问题不贴define那一行,谁知道你怎么错的?
从警告内容里可以看出,十有八九是define的时候host.c_str()被define错了,所以才说printf函数不接受host这种标准库类云云
这种问题不贴define那一行,谁知道你怎么错的?
#7
我是define了好几行,这行printf("#connect kv error host[%s] port[%d]#", host.c_str(), port);在里面的
#8
猜得没错的话,很明显的,你的port或host,在宏定义里是另一个字符串参数,导致出差错了。
#9
#10
不知道下面这样写,是否能楼主的意图?
#include <iostream>
#include <string>
using namespace std;
#define PR(host, port) printf("#connect kv error host[%s] port[%d]#", host.c_str(), port)
int main(int argc, char** argv)
{
string host = "192.168.1.101";
int port = 1001;
PR(host, port);
return 0;
}
#1
沙发,没看出啥问题。
#2
好像没看出什么问题呢
#3
命令空间?在两个参数前面加个强制转换试试?或者把这个宏前面的代码(包括头文件)都贴出来看看...
报错的完整信息也贴出来下...
报错的完整信息也贴出来下...
#4
printf("#connect kv error host[%s] port[%d]#", host.c_str(), port);
这个用宏定义???
这个用宏定义???
#5
float f,c;
#define pri printf("f=%g\nc=%g\n",f,c)
int _tmain(int argc, _TCHAR* argv[])
{
f=64.0f;
c=(5.0f/9.0f)*(f-32.0f);
pri;
return 0;
}
这样测试OK。。。
不知道你是怎么定义的!!!
#6
问问题不贴出错的代码,反而把没错的代码贴上来?
从警告内容里可以看出,十有八九是define的时候host.c_str()被define错了,所以才说printf函数不接受host这种标准库类云云
这种问题不贴define那一行,谁知道你怎么错的?
从警告内容里可以看出,十有八九是define的时候host.c_str()被define错了,所以才说printf函数不接受host这种标准库类云云
这种问题不贴define那一行,谁知道你怎么错的?
#7
我是define了好几行,这行printf("#connect kv error host[%s] port[%d]#", host.c_str(), port);在里面的
#8
猜得没错的话,很明显的,你的port或host,在宏定义里是另一个字符串参数,导致出差错了。
#9
#10
不知道下面这样写,是否能楼主的意图?
#include <iostream>
#include <string>
using namespace std;
#define PR(host, port) printf("#connect kv error host[%s] port[%d]#", host.c_str(), port)
int main(int argc, char** argv)
{
string host = "192.168.1.101";
int port = 1001;
PR(host, port);
return 0;
}