AgentSkillsCN

autofix-namespace

通过添加命名空间限定符或使用声明,修复“不是命名空间成员”的错误。

SKILL.md
--- frontmatter
name: autofix-namespace
description: Fixes 'not a member of namespace' errors by adding namespace qualifiers or using declarations.

Namespace Skill

Fixes C++ namespace-related compilation errors.

Detection Patterns

  • 'X' is not a member of 'std'
  • 'X' is not a member of 'namespace'
  • 'X' was not declared in this scope (when namespace issue)

Strategy

  1. Identify Symbol: Extract the symbol and expected namespace.
  2. Add Qualifier: Prefix the symbol with namespace, or add using.

Instructions

Step 1: Parse Error

From: 'cout' is not a member of 'std' Symbol: cout, Namespace: std

Step 2: Common Fixes

Add namespace prefix:

cpp
// Before
cout << "Hello";  // ERROR
// After
std::cout << "Hello";

Add using declaration:

cpp
// At top of file or function
using std::cout;
// Or
using namespace std;  // Less recommended

Common std:: Symbols

SymbolNamespace
cout, cin, endlstd::
vector, map, setstd::
stringstd::
unique_ptr, shared_ptrstd::
chrono::*std::chrono::