在.hpp文件中,我有一个属于类成员的模板函数。
class BLog
{
public:
enum { LOG_ERROR, LOG_WARN, LOG_STATUS, LOG_INFO, LOG_NOTICE, LOG_DEBUG };
template <typename... Args>
void appLog(int prio, const char *fmt, Args const &... args);
template <typename... Args>
void appLogError(const char *fmt, Args const &... args) { this->appLog(LOG_ERROR, fmt, args...); }
}
致电时,
int main()
{
BLog myLog();
myLog.appLog(BLog::LOG_ERROR, "%s message", "Test");
}
我收到警告
注意:请参见对函数模板实例化的引用'void myLog :: appLog(int,const char *,const char(&)[5])'被 编译
无法找出传递参数的正确语法...
希望有人可以提供帮助。谢谢。
Rem :有了建议的答案,使用Visual Studio,我总是收到带有W4
标志的警告。
答案 0 :(得分:2)
it('renders without crashing', async () => {
const mocks = [
{
request: {
query: TODOS_QUERY,
},
result: {
data: {
todos: [
{
title: 'An old todo',
},
],
},
},
},
{
request: {
query: ADD_TODO_MUTATION,
variables: {
title: 'My new todo',
},
},
result: {
data: {
addTodo: null,
},
},
},
];
const wrapper = mount(
<MockedProvider mocks={mocks} addTypename={false}>
<Component />
</MockedProvider>
);
await wait(100);
wrapper.update();
console.log(wrapper.debug())
expect(wrapper.contains('An old todo')).toBe(true);
expect(wrapper.contains('My new todo')).toBe(false);
wrapper.find('button').simulate('click');
await wait(100);
wrapper.update();
console.log(wrapper.debug())
expect(wrapper.contains('An old todo')).toBe(true);
expect(wrapper.contains('My new todo')).toBe(true);
});
是一个函数声明。使用BLog myLog();
。
BLog myLog{};
应该是myLog::LOG_ERROR
。