Linux汇编程序消息错误c++
Linux Assembler message error c++
我试过用谷歌搜索这个错误,但没有发现任何有用的东西。我对编程很陌生,所以请耐心等待。这个错误在我第一次编译card.cpp时就出现了,从那以后就再也没有消失过。这个程序的所有cpp文件都给出了相同的错误。当我编译时,当我输入g++card.cpp(或我的任何.cpp文件)-时,我会一直得到这个
/tmp/ccW6ByXY.s: Assembler messages:
/tmp/ccW6ByXY.s:13: Error: symbol `_ZNSi6ignoreE' is already defined
/tmp/ccW6ByXY.s:25: Error: symbol `_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE' is already defined
我有我的驱动程序和3个.h
文件(以及它们各自的.cpp文件)。当我单独或一起编译每一个时,它们都会给出这样的信息。欢迎提供任何信息。
#include "card.h"
//using namespace std;
Card::Card()
{
rank = 'A';
suit = spades;
}
Card::Card(int _rank, Suit _suit)
{
rank = _rank;
suit = _suit;
}
string Card::toString() const //return string of card (ie 2h)
{
string cardString = suitString() + rankString();
return cardString;
}
int Card::getRank() const
{
return rank;
}
Card::Suit Card::getSuit() const
{
return suit;
}
bool Card::operator == (const Card &rhs) const
{
return (rank==rhs.rank) || (suit == rhs.suit);
}
string Card::suitString() const
{
Suit s = spades;
switch(s)
{
case spades: return "s";
break;
case hearts: return "h";
break;
case diamonds: return "d";
break;
case clubs: return "c";
break;
}
}
card.h低于
#ifndef _CARD_H
#define _CARD_H
#include <iostream>
#include <string>
using namespace std;
class Card
{
public:
enum Suit {spades, hearts, diamonds, clubs};
Card(); // default: ace of spades
Card(int, Suit);
string toString() const; // return string version: Ac 4h Js
int getRank() const; // return rank, 1..13
Suit getSuit() const; // return suit
bool operator == (const Card &rhs) const;
private:
int rank;
Suit suit;
string suitString() const; // return "s", "h",...
string rankString() const; // return "A", "2", ..."Q"
};
#endif
您看到的是对象文件中一些符号的名称被篡改。为了让他们有意义,可以这样使用c++filt
:
$ c++filt -n _ZNSi6ignoreE
std::istream::ignore
$ c++filt -n _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE
std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore
好吧!这些名字现在看起来很熟悉了。因此,istream::ignore
存在于多个对象文件中。[查看您的构建命令后继续:)]
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 错误:未在此范围内声明'reverse'