84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
#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('\'))
这样能让编译器勉强执行过去