質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.36%

  • C++

    2425questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

文字列を単体テストで比較したいが、引数リストが合わず出来ない

受付中

回答 2

投稿 2017/11/24 11:04 ・編集 2017/11/24 13:05

  • 評価
  • クリップ 1
  • VIEW 94

doutyuu

score 0

前提・実現したいこと

テストファーストで、文字列の比較をしたいのだが、C++になれてなくてエラーが出てしまったので質問しました。

発生している問題・エラーメッセージ

インスタンスが引数リストと一致しない

該当のソースコード

.h

#pragma once
#include <string>

using namespace std;

class user_test {
public:
    user_test( );
    ~user_test( );
public:
    int user_set( );
     string user_out( );

};


単体テスト

#include "stdafx.h"
#include "CppUnitTest.h"
#include "smart_ptr.h"
#include <string>
#include "C:\Users\student\Desktop\jankendemo\test\demo\user_test.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace std;

PTR( user_test );

namespace UnitTest1
{        
    TEST_CLASS ( UnitTest1 ) {
    public:

        TEST_METHOD (set_test);

    };
    inline void UnitTest1::set_test() {
        std::shared_ptr< user_test > test = std::shared_ptr< user_test >( new user_test );
        const int NUM = 0;
        const string CHECK = "rock";
        // TODO: テスト コードをここに挿入します
        if ( NUM == test->user_set( ) ) {
 ここでエラー -> Assert::AreEqual( CHECK, test->user_out( ), true);
        }
    }
}

試したこと

文字セットの変更

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

std::stringを引数にとる場合は3番目の引数にboolを指定できるものはありません。

Assert::AreEqual( CHECK, test->user_out( ));

投稿 2017/11/24 22:39

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/26 09:32 編集

    解決しました!!
    boolで大文字小文字を指定するという記事を読んでいたので必須だと思ってしまってました。
    ありがとうございます!!

    キャンセル

+1

user_test::user_out

static メンバーで無いものに対して::で参照はできません

投稿 2017/11/24 12:50

編集 2017/11/24 12:53

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/24 13:06

    回答ありがとうございます!!
    修正後のコードに変更していなかったため変更しました。
    ですが、エラーが直らなかったのでよければもう一度確認していただけませんか?

    キャンセル

  • 2017/11/24 13:44

    >#include "smart_ptr.h"
    なんだそりゃ、<memory>をinclude

    >user_test::user_set()

    setterっぽい名前なのに引数がない・・・?なにこれ

    そもそもクラスの実装は・・・?

    そして一番肝心なエラーメッセージは?

    キャンセル

  • 2017/11/24 13:46

    >std::shared_ptr< user_test > test = std::shared_ptr< user_test >( new user_test );

    単に
    user_test test;
    でいいのでは

    キャンセル

  • 2017/11/24 13:46

    結論:何がしたいクラスなのかさっぱりわからん

    キャンセル

  • 2017/11/24 14:41

    #include "smart_ptr.h"は、メモリーの解放忘れなどを低減してくれるためにあるクラスのことです

    これはテストファーストで作成してるのでコードの中身はまだ書きません

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.36%

関連した質問

  • 受付中

    この問題のプログラムはどうなるのですか?

    実現したいこと 初歩的な質問だとは思うのですが、答えていただけると幸いです 下の問題を解くとプログラムはどういう風になるのかプログラムを書いていただけると幸いです。 お願いし

  • 解決済

    C++で画像の連続読み込みの方法

    使用環境 Visual Studio 2015 OpenCV2.4.13 C++ 複数枚の画像を読み込んで、合成したものを別のことで利用するプログラムを作成しています。

  • 解決済

    MVC モデルのバリデーションについて

    モデルでアノテーション(Required)を指定しているプロパティが4つあります。 [Required] public string A { get; set;

  • 解決済

    配列の要素間の和を全パターン求めるプログラムを作成したい。

    皆様ありがとうございました。 前提・実現したいこと <CもしくはC++> 配列の要素間の和を全パターン求めるプログラムを作成したい。 【例】 /*-------------

  • 解決済

    複数の文字列をランダムに表示する方法

    こんばんは。もうすぐくる就職試験に備えて面接ソフトを作りたいのですが、ヘッダファイルにある質問を、毎回ランダムな順番で表示する方法が分かりません。どなたかいい方法をご存じないでしょ

  • 受付中

    Ruby(mruby)とvector等のC++のSTLを連携させるには?

    Ruby(mruby)とC++を連携させようと考えています。 int等、C++のプリミティブ型や関数、クラスを連携させるのは mrubybindという外部のソースコードを 借り

  • 解決済

    C++ string型の二進数をint型の十進数に変換したい

    C++で文字列表記の二進数をint型の十進数に変換したいのですが、そういったメソッドは用意されているのでしょうか? もしない場合、どのようにすれば効率的に求められるでしょうか?

  • 解決済

    数字の合計を表示させる方法

    こんにちは。C++で、int a,bにいくつかの数字を入力し、それぞれの合計を表示するプログラムを作りたいのですが、合計を表示させる方法が分かりません。どなたか教えていただけないで

同じタグがついた質問を見る

  • C++

    2425questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。