c++ - 在我的情况下,没有声明匹配错误是什么意思?
问题描述
我在不同的文件中描述了类:
3DObjectDescription.h
#pragma once
#include <SFML/Graphics.hpp>
#include <NumCpp.hpp>
#include "MoveMatrix.h"
class Object3D
{
public:
nc::NdArray<float> vertexes;
nc::NdArray<float> faces;
Object3D();
void translation(float tX, float tY, float tZ);
void rotate_x(float angle);
void rotate_y(float angle);
void rotate_z(float angle);
void scale_(float scale_c);
};
3DObjectDescription.cpp
#include "3DObjectDescription.h"
Object3D::Object3D()
{
vertexes = {{0,0,0,1}, {0,1,0,1}, {1,1,0,1}, {1,0,0,1},
{0,0,1,1}, {0,1,1,1}, {1,1,1,1}, {1,0,1,1}};
faces = {{0,1,2,3}, {4,5,6,7}, {0,4,5,1}, {2,3,7,6}, {1,2,6,5}, {0,3,7,4}};
}
Object3D::translation(float tX, float tY, float tZ)
{
vertexes = nc::dot(vertexes, translate(tX, tY, tZ));
}
Object3D::rotate_x(float angle_)
{
vertexes = nc::dot(vertexes, rotation_X(angle_));
}
Object3D::rotation_y(float angle_)
{
vertexes = nc::dot(vertexes, rotation_Y(angle_));
}
Object3D::rotation_z(float angle)
{
vertexes = nc::dot(vertexes, rotation_Z(angle_));
}
Object3D::scale_(float scale_c)
{
vertexes = nc::dot(vertexes, scale(scale_c));
}
当我编译它时,我得到错误:
错误:没有声明匹配 'int Object3D::translation(float, float, float)'
错误:没有声明匹配 'int Object3D::rotate_x(float)'
错误:没有声明匹配 'int Object3D::rotation_y(float)'
错误: 没有声明匹配 'int Object3D::rotation_z(float)'
错误: 没有声明匹配 'int Object3D::scale_(float)'
当我没有声明它时,我不知道整数类型是从哪里来的!我从来没有遇到过这样的错误!
解决方案
声明返回类型是void
.
void translation(float tX, float tY, float tZ);
^^^^
但是您的定义没有类型。
void Object3D::translation(float tX, float tY, float tZ)
^^^^ 不见了
当缺少显式返回类型时,某些编译器会假定为“int”,从而产生该错误。
例如 VS2019 错误:
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
推荐阅读
- macos - macOS 上的多个网络扩展
- javascript - 无论如何我可以重构它以使用过滤器等数组函数
- statistics - 计算对数正态分布置信区间的修正 Cox 方法
- nestjs - 如何使用 Faker 库生成 ISO 3166-1 alpha-3 国家代码?
- angular - 过滤订阅数据后,需要获取初始数据
- pandas - 无法一次填充 matplotlib 动画帧
- r - 将两条 Kaplan Meier 曲线与 ggsurvplot 合并
- r - 用 ggplot2 绘制 mantel.rtest
- javascript - 如何通过 Javascript 选择图像 src
- angular - 使用AngularFirestore从数组生成firebase queryfn