ç®åå¨ä¸¤ä¸ªç¼è¯å¨ä¸æ¾å°æ¹æ³ï¼ä»£ç ä¸éç¨ã
ç论ä¸VSçæ¬çå
¼å®¹æ§æ¯è¾å¥½ï¼ç¶èå¨clangä¸ç¼è¯ä¸è¿å»ï¼ã
clangï¼
#define sendData(something) \
{ \
static char string_[] = (something); \
\
class \
{ \
public: \
static __attribute__((constructor)) void registerString() \
{ \
printf("-------------> Register string: %s\n", string_); \
} \
\
void warningRemover() { }; \
} a; \
a.warningRemover(); \
}
VSï¼2010ï¼ï¼
#define sendData(something) \
{ \
class \
{ \
public: \
static const char *getSomething() \
{ \
return something; \
} \
\
void helperMe() \
{ \
TestClass<getSomething> OMG; \
} \
\
void warningremover() { } \
} helper; \
helper.warningremover(); \
}
template<const char *(*f)()>
class Helper
{
public:
Helper()
{
printf("String -> %s", f());
}
};
template<const char *(*f)()>
class TestClass
{
public:
static Helper<f> g_helper;
TestClass()
{
g_helper;
}
};
template<const char *(*f)()>
Helper<f> TestClass<f>::g_helper;
温馨提示:答案为网友推荐,仅供参考