84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
#include <iostream> #include <string> using namespace std; int main() { #define NEW_APP_PATH "C:\\QQ\\QQ.exe"; #define VAL_OPEN NEW_APP_PATH.substr(0,NEW_APP_PATH.find_last_of('\\')); cout<<VAL_OPEN; getchar(); return 0; }
用define 为什么会报错?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
NEWAPPPATH.substr NEWAPPPATH为char[]数组,不支持.操作; 可以修改为NEWAPPPATH string("C:\QQ\QQ.exe") 试一下。
因为NEWAPPPATH是一个C字符串,C字符串当然没有substr方法。
整个程序都错的离谱,而不光是define的问题了 C++的原生字符串是没有成员函数的 宏定义结尾不要分号 #define NEWAPPPATH std::string("C:\QQ\QQ.exe") #define VALOPEN NEWAPPPATH.substr(0,NEWAPPPATH.findlast_of('\')) 这样能让编译器勉强执行过去
NEWAPPPATH.substr NEWAPPPATH为char[]数组,不支持.操作; 可以修改为NEWAPPPATH string("C:\QQ\QQ.exe") 试一下。
因为NEWAPPPATH是一个C字符串,C字符串当然没有substr方法。
整个程序都错的离谱,而不光是define的问题了
C++的原生字符串是没有成员函数的
宏定义结尾不要分号
#define NEWAPPPATH std::string("C:\QQ\QQ.exe")
#define VALOPEN NEWAPPPATH.substr(0,NEWAPPPATH.findlast_of('\'))
这样能让编译器勉强执行过去