Error 1 error LNK2019: unresolved external symbol "public: void __thiscall Sounds::soundBox(void)" (?soundBox@Sounds@@QAEXXZ) referenced in function _main
出于某种原因,我得到了这个错误,我不知道我做错了什么。 从main()调用wimm.lib添加了playound工作 当我尝试从playsound.cpp中的类调用它时,它会调用错误...
playsounds.h
#pragma once
#include <Windows.h>
class Sounds
{
public:
Sounds();
~Sounds();
void soundBox();
};
playsound.cpp
#include "playsound.h"
Sounds::Sounds()
{
}
void soundBox()
{
PlaySound(TEXT("fx/boom1.wav"), NULL, SND_FILENAME);
}
Sounds::~Sounds()
{
}
的main.cpp
#include <iostream>
#include <conio.h>
#include "playsound.h"
int main()
{
Sounds newsound;
newsound.soundBox();
_getch();
}
答案 0 :(得分:1)
您需要更改playsound.cpp
void soundBox()
要
void Sounds::soundBox()
这是因为该函数存在于Sounds
类的范围内,因此您必须将其定义为此类。否则它将是一个自由函数,并且Sounds
类中的函数版本将是未定义的(这是错误告诉你的)。