如果你语法检测都没有问题,还是报错
abc.h:9:21: error: expected ‘)’ before ‘test’
可以考虑这个原因
无法使用string类型
error: ‘string’ does not name a type
我的编译命令是
gcc -o a.out -a.cpp
报了奇奇怪怪的错误
- /usr/bin/ld: /tmp/ccy63Xte.o: undefined reference to symbol '_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4'
- //usr/lib64/libstdc++.so.6: 无法添加符号: DSO missing from command line
非类函数(下面为test123)的定义(不是声明)不能放在 .h 文件里,必须放在cpp文件里
如果你在头文件里定义了非类函数,如果你多次引用这个头文件,并使用这个函数,就会引发报错
- /tmp/ccFtS4VQ.o:在函数‘test123[abi:cxx11]()’中:
- a.cpp:(.text+0x74): test123[abi:cxx11]() 的多重定义
- /tmp/ccHqXVJM.o:b.cpp:(.text+0x0):第一次在此定义
- collect2: 错误:ld 返回 1
- #include
- std::string ff(){
-
- }
- int main()
- {
- std::string cc = ff();
- return 0;
- }
error code: Connection (2)
目前找到两种可能
第一种是
httplib::SSLClient cli("https://1.2.3.4");
不能在里面加https,只能写成 1.2.3.4,但是非ssl是可以加http头的
httplib::Client cli("http://1.2.3.4");
第二种是
发请求里面一定要有接口名,哪怕是斜杠,不能写成 ""
auto res = cli.Get("/")
默认形参不能头文件和cpp文件同时指定,只能在头文件声明中指定默认形参(换句话就是cpp文件函数的实现,不能指定默认形参)
为‘xxxxxx’的第 3 个形参指定了默认实参 [-fpermissive]