gpt4 book ai didi

c++ - gcc 预编译头文件 : pragma once in main file

转载 作者:太空狗 更新时间:2023-10-29 21:31:55 27 4
gpt4 key购买 nike

我创建了一个头文件。简单的事情如下。

#pragma once

#include <iostream>

template<typename T>
void say(T t) {
std::cout << t << std::endl;
}

然后使用g++ 创建带有g++ hello.hgch 预编译头文件。它给了我这个警告 ->

pch.h:2:9: warning: #pragma once in main file
2 | #pragma once
| ^~~~

但是创建的 gch 文件和预编译的头文件工作正常。如果我使用 header guards,这个错误就会消失。

我是不是做错了什么?

最佳答案

你没有做错任何事;这是一个实现质量问题 has been mentioned on the issue tracker before (但是,据我所知,目前没有改变这种行为的计划)。

在 Clang 中,您可以关闭针对特定编译器调用的警告(使用 -Wno-pragma-once-outside-header);在 GCC 中,您现在只需要咧嘴一笑并忍受它。

关于c++ - gcc 预编译头文件 : pragma once in main file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56563679/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com