提问人:Kody Puebla 提问时间:11/27/2016 最后编辑:Kody Puebla 更新时间:11/27/2016 访问量:56
函数声明 C++ 的编译器错误 [已关闭]
compiler errors with function declaration c++ [closed]
问:
闭。此问题不符合 Stack Overflow 准则。它目前不接受答案。
6年前关闭。
- 这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。
- 编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。
当我尝试构建程序时,我收到以下编译器错误:
main.obj : error LNK2019: unresolved external symbol "public: bool __thiscall OddsCalculator::is_straight_flush(__int64)" (?is_straight_flush@OddsCalculator@@QAE_N_J@Z) referenced in function _main
我认为这是一个范围问题,因为我没有将“OddsCalculator::”放在函数前面。但是,当我去解决这个问题时,我收到此错误:
odds_calculator.cpp(568): error C2589: 'bool': illegal token on right side of '::'
我无法在网上找到与此错误匹配的任何内容,所以我不确定出了什么问题。
这是主要的.cpp:
#include <iostream>
#include <string>
#include "odds_calculator.h"
int main() {
OddsCalculator calc;
// hand: KH QH table: AH JH TH 2D 6S
std::cout << calc.is_straight_flush(0x7c201000) << std::endl;
}
这是该函数在 odds_calculator.h 中的样子:
#ifndef ODDS_CALCULATOR_H
#define ODDS_CALCULATOR_H
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
class OddsCalculator {
public:
// other functions
bool is_straight_flush(long long in_play);
};
#endif
这是该函数在 odds_calculator.cpp 中的样子:
#include "odds_calculator.h"
OddsCalculator::bool is_straight_flush(long long in_play) {
// code
}
我正在使用 VS2015 x86 本机工具命令提示符,并使用该命令进行编译。有什么想法吗?cl /EHsc main.cpp odds_calculator.cpp
答:
-1赞
Persixty
11/27/2016
#1
bool OddsCalculator::is_straight_flush(long long in_play) {
// code
}
评论
0赞
Kody Puebla
11/27/2016
我想面对手掌哈哈。谢谢。
2赞
Lightness Races in Orbit
11/27/2016
你应该解释你的答案,而不仅仅是把代码扔给别人。
评论