c++ - 警告:在 C++ 中忽略空字符 [-Wnull-character]
问题描述
我编译的小代码很好,但是当我运行 IntVector.cpp 时,我得到了成千上万的警告,如下所示:
IntVector:3:1533: warning: null character ignored [-Wnull-character]
...<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>
IntVector:8:3: warning: null character ignored [-Wnull-character]
<U+0008><U+0000><U+0000><E9><U+0000><U+0000><U+0000><U+0000>H<8D>E<D0>H...
?IntVector:9:2415: warning: null character ignored [-Wnull-character]
...<U+0000><U+0000><9E><U+0000><U+0000><U+0000>|<U+0003><U+0000><U+0000>...
等等。这是我第一次尝试运行 C++ 程序,所以我想问题可能出在我的设置中。我在 Mac 上,使用 Emacs 进行编码和编译,并使用终端运行它。
整数向量.cpp
#include <iostream>
#include "IntVector.h"
#include <cmath>
using namespace std;
int* array = new int[0];
int num_elements;
int array_size;
int expansion_factor;
void IntVector::expandArray(){
}
void IntVector::add(int val){
cout << "Hello";
}
void IntVector::remove(int index){
}
int IntVector::get(int index) const{
return index;
}
void IntVector::removeLast(){
}
void IntVector::set(int index, int val){
}
std::string IntVector::toString()const {
return "";
}
IntVector::IntVector(int initial_size){
}
IntVector:: ~IntVector(){}
int main(){
IntVector v(5);
v.add(5);
}
整数向量.h
#ifndef INTVECTOR_H_
#define INTVECTOR_H_
using std::cout;
class IntVector {
private:
int* array;
int num_elements;
int array_size;
int expansion_factor;
void expandArray();
public:
void add(int val);
void remove(int index);
int get(int index) const;
void removeLast();
void set(int index, int val);
std::string toString() const;
IntVector(int initial_size);
~IntVector();
};
#endif
解决方案
此警告意味着您的源代码包含空字符。这几乎总是错误的。
造成这种情况的一个潜在原因可能是您使用编辑器使用宽字符编码保存文件,但编译器期望输入具有窄编码。
警告的另一个典型原因是试图包含或编译二进制文件。
cpp IntVector
看来您正在尝试编译文件IntVector
而不是文件 IntVector.cpp
。想必,IntVector
是一个二进制文件。
推荐阅读
- ios - 应用关闭时从 URL Scheme 打开内容
- reactjs - React w/ Redux - 在历史上找到匹配路径的最佳方法
- python - 有没有办法使用 API 在 python 中发出多个请求?
- python - 无法使用 pandas to_datetime 方法将字符串转换为日期时间数据类型
- c++ - 无法使用“std::shared_ptr_access”类型的表达式初始化“TreeNode”类型的参数
- knex.js - 我可以在 Strapi 运行时之外获取配置吗?
- javascript - 将多个对象合并为一个对象并组合属性 JavaScript
- javascript - 无论里面有什么,如何使它始终保持相同的宽度?
- android - 新 JSONArray 的 NoSuchFieldError 异常,但仅在混淆版本中
- c++ - C ++读取管道分隔文件