因此,我已經在StackOverflow上進行了大量的搜索和搜索,並且無法找到一個解決方案,儘管這個確切問題有幾個答案。單獨文件中的C++類未編譯。已經在Class.obj中定義了一個或多個找到的多重定義符號
我想在外部文件中創建一個測試類叫做Fpc5.cpp
它的內容是:
Fpc5.cpp
#include "stdafx.h"
#include "Fpc5.h";
#include <iostream>
using std::cout;
class Fpc5 {
int bar;
public:
void testMethod();
};
void Fpc5::testMethod() {
cout << "Hey it worked! ";
}
和我的主.cpp文件:
Test.cpp
// Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
//#include "Fpc5.cpp"
#include "Fpc5.h";
using std::cout;
using std::cin;
using std::endl;
int main()
{
cout << "Hello" << endl;
Fpc5 testObj;
testObj.testMethod();
system("pause");
return 0;
}
所有我讀過的答案表明,這是becaused我以前是包括在主文件本身的類,這是爲什麼我創建了一個頭文件
Fpc5.h
#pragma once
void testMethod();
這導致改變了錯誤,但仍然沒有解決問題。目前我的Test.cpp
不能識別Fpc5類。我也嘗試在stdafx.h
中添加Fpc5.cpp
和Fpc5.h
,但仍不能解決問題。
stdafx.h
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO: reference additional headers your program requires here
//#include "Fpc5.cpp"
#include "Fpc5.h"
我敢肯定,這是一個簡單的語法/概念理解錯誤,但我很新的C++,我不知道什麼是錯的。
您的類定義需要在標題中,而不是源文件中。 – 1201ProgramAlarm